diff --git a/cfgov/ask_cfpb/migrations/0001_squashed_0004_new_table_block.py b/cfgov/ask_cfpb/migrations/0001_squashed_0004_new_table_block.py new file mode 100644 index 00000000000..4b4e772b0cf --- /dev/null +++ b/cfgov/ask_cfpb/migrations/0001_squashed_0004_new_table_block.py @@ -0,0 +1,158 @@ +# Generated by Django 3.2.20 on 2023-08-02 21:05 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import modelcluster.fields +import v1.atomic_elements.molecules +import v1.blocks +import v1.models.snippets +import wagtail.blocks +import wagtail.contrib.routable_page.models +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks +import wagtail.search.index +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('wagtailredirects', '0008_add_verbose_name_plural'), + ('wagtailcore', '0069_log_entry_jsonfield'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('wagtailforms', '0005_alter_formsubmission_form_data'), + ('wagtailinventory', '0003_pageblock_id_bigautofield'), + ('v1', '0001_squashed_0254_delete_campaignpage'), + ] + + operations = [ + migrations.CreateModel( + name='Answer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('question', models.TextField(blank=True)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('last_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ['-id'], + }, + ), + migrations.CreateModel( + name='AnswerLandingPage', + fields=[ + ('landingpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.landingpage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.landingpage',), + ), + migrations.CreateModel( + name='AnswerResultsPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('name_es', models.CharField(max_length=255)), + ('slug', models.SlugField(help_text='Do not edit this field')), + ('slug_es', models.SlugField(help_text='Do not edit this field')), + ('intro', wagtail.fields.RichTextField(blank=True, help_text='Do not use H2, H3, H4, or H5 to style this text. Do not add links, images, videos or other rich text elements.')), + ('intro_es', wagtail.fields.RichTextField(blank=True, help_text='Do not use this field. It is not currently displayed on the front end.')), + ('category_image', models.ForeignKey(blank=True, help_text='Select a custom image to appear when visitors share pages belonging to this category on social media.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage')), + ], + options={ + 'verbose_name_plural': 'Categories', + 'ordering': ['name'], + }, + ), + migrations.CreateModel( + name='NextStep', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('show_title', models.BooleanField(default=False)), + ('text', wagtail.fields.RichTextField(blank=True)), + ], + ), + migrations.CreateModel( + name='PortalSearchPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('overview', models.TextField(blank=True)), + ('portal_topic', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='portal_search_pages', to='v1.portaltopic')), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'v1.cfgovpage'), + ), + migrations.CreateModel( + name='TagResultsPage', + fields=[ + ('answerresultspage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ask_cfpb.answerresultspage')), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'ask_cfpb.answerresultspage'), + ), + migrations.CreateModel( + name='AnswerPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('last_edited', models.DateField(blank=True, help_text='Change the date to today if you make a significant change.', null=True)), + ('question', models.TextField(blank=True)), + ('statement', models.TextField(blank=True, help_text='(Optional) Use this field to rephrase the question title as a statement. Use only if this answer has been chosen to appear on a money topic portal (e.g. /consumer-tools/debt-collection).')), + ('short_answer', wagtail.fields.RichTextField(blank=True, help_text='Optional answer intro')), + ('answer_content', wagtail.fields.StreamField([('text', wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(help_text="Add an optional anchor link tag to allow linking directly to this block. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'block-one-tag')", label='Anchor tag', required=False)), ('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h2', 'h3', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('how_to_schema', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title of How To section', max_length=500)), ('title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4')], help_text='Choose a tag for the title of the How To section.', label='Tag for How To section title')), ('show_title', wagtail.blocks.BooleanBlock(default=True, help_text='The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.', label='Show How To section title', required=False)), ('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('step_title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('b', 'Bold'), ('p', 'Paragraph')], help_text='Choose a tag for the title of each HowTo step.', label='Tag for step titles')), ('has_numbers', wagtail.blocks.BooleanBlock(default=False, help_text='Check this box to display numbers before step titles. ', label='Show numbers for steps', required=False)), ('steps', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", max_length=500, required=False)), ('title', wagtail.blocks.CharBlock(help_text='Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.', max_length=500)), ('step_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))])), ('faq_schema', wagtail.blocks.StructBlock([('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('questions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))]))], blank=True, use_json_field=True, verbose_name='Answer')), + ('featured', models.BooleanField(default=False, help_text='Check to make this one of two featured answers on the landing page.')), + ('featured_rank', models.IntegerField(blank=True, null=True)), + ('search_tags', models.CharField(blank=True, help_text='Search words or phrases, separated by commas', max_length=1000)), + ('sidebar', wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=True)), + ('answer_base', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='answer_pages', to='ask_cfpb.answer')), + ('category', models.ManyToManyField(blank=True, help_text='Categorize this answer. Avoid putting into more than one category.', to='ask_cfpb.Category')), + ('portal_category', modelcluster.fields.ParentalManyToManyField(blank=True, to='v1.PortalCategory')), + ('portal_topic', modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Limit to 1 portal topic if possible', to='v1.PortalTopic')), + ('primary_portal_topic', modelcluster.fields.ParentalKey(blank=True, help_text='Use only if assigning more than one portal topic, to control which topic is used as a breadcrumb.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='primary_portal_topic', to='v1.portaltopic')), + ('related_questions', modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Maximum of 3 related questions', related_name='related_question', to='ask_cfpb.AnswerPage')), + ('related_resource', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='v1.relatedresource')), + ('notification', wagtail.fields.StreamField([('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='GlossaryTerm', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name_en', models.CharField(max_length=255, verbose_name='TERM (ENGLISH)')), + ('definition_en', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='DEFINITION (ENGLISH)')), + ('anchor_en', models.CharField(blank=True, max_length=255, null=True, verbose_name='ANCHOR SLUG (ENGLISH)')), + ('name_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='TERM (SPANISH)')), + ('definition_es', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='DEFINITION (SPANISH)')), + ('anchor_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='ANCHOR SLUG (SPANISH)')), + ('answer_page_en', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='glossary_terms', to='ask_cfpb.answerpage', verbose_name='ANSWER PAGE (ENGLISH)')), + ('answer_page_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='glossary_terms_es', to='ask_cfpb.answerpage', verbose_name='ANSWER PAGE (SPANISH)')), + ('portal_topic', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='glossary_terms', to='v1.portaltopic')), + ], + options={ + 'unique_together': {('portal_topic', 'name_en')}, + }, + bases=(wagtail.search.index.Indexed, models.Model), + ), + ] diff --git a/cfgov/ask_cfpb/migrations/0001_squashed_0047_add_use_json_field_to_streamfields.py b/cfgov/ask_cfpb/migrations/0001_squashed_0047_add_use_json_field_to_streamfields.py deleted file mode 100644 index 4542872b27f..00000000000 --- a/cfgov/ask_cfpb/migrations/0001_squashed_0047_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,2911 +0,0 @@ -# Generated by Django 3.2.18 on 2023-04-25 14:20 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - -import wagtail.blocks -import wagtail.contrib.routable_page.models -import wagtail.fields -import wagtail.images.blocks -import wagtail.search.index -import wagtail.snippets.blocks - -import modelcluster.fields - -import v1.atomic_elements.molecules -import v1.atomic_elements.tables -import v1.blocks -import v1.models.snippets - - -class Migration(migrations.Migration): - replaces = [ - ("ask_cfpb", "0037_recreated"), - ("ask_cfpb", "0038_recreated2"), - ("ask_cfpb", "0039_2022_squash"), - ("ask_cfpb", "0040_deprecate_feedback_block"), - ("ask_cfpb", "0041_emailsignup_snippet"), - ("ask_cfpb", "0042_convert_email_signups_blocks_to_snippets"), - ("ask_cfpb", "0043_alter_answer_last_user"), - ("ask_cfpb", "0044_update_how_to_schema"), - ("ask_cfpb", "0045_set_max_num_on_notifications"), - ("ask_cfpb", "0046_deprecate_article_page_and_link"), - ("ask_cfpb", "0047_add_use_json_field_to_streamfields"), - ] - - initial = True - - dependencies = [ - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ("wagtailforms", "0005_alter_formsubmission_form_data"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("wagtailredirects", "0008_add_verbose_name_plural"), - ("wagtailinventory", "0003_pageblock_id_bigautofield"), - ("wagtailcore", "0069_log_entry_jsonfield"), - ] - - operations = [ - migrations.CreateModel( - name="Answer", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("question", models.TextField(blank=True)), - ("created_at", models.DateTimeField(auto_now_add=True)), - ( - "last_user", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - options={ - "ordering": ["-id"], - }, - ), - migrations.CreateModel( - name="AnswerLandingPage", - fields=[ - ( - "landingpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.landingpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.landingpage",), - ), - migrations.CreateModel( - name="AnswerResultsPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="ArticlePage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "category", - models.CharField( - choices=[ - ("basics", "Basics"), - ("common_issues", "Common issues"), - ("howto", "How to"), - ("know_your_rights", "Know your rights"), - ], - max_length=255, - ), - ), - ("heading", models.CharField(max_length=255)), - ("intro", models.TextField()), - ( - "inset_heading", - models.CharField( - blank=True, max_length=255, verbose_name="Heading" - ), - ), - ( - "sections", - wagtail.fields.StreamField( - [ - ( - "section", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - label="Section heading", - max_length=255, - required=True, - ), - ), - ( - "summary", - wagtail.blocks.TextBlock( - blank=True, - label="Section summary", - required=False, - ), - ), - ( - "link_text", - wagtail.blocks.CharBlock( - blank=True, - label="Section link text", - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - blank=True, - label="Section link URL", - max_length=255, - required=False, - ), - ), - ( - "subsections", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - blank=True, - label="Subsection heading", - max_length=255, - required=False, - ), - ), - ( - "summary", - wagtail.blocks.TextBlock( - blank=True, - label="Subsection summary", - required=False, - ), - ), - ( - "link_text", - wagtail.blocks.CharBlock( - label="Subsection link text", - required=True, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - label="Subsection link URL", - required=True, - ), - ), - ] - ) - ), - ), - ] - ), - ) - ], - use_json_field=None, - ), - ), - ( - "sidebar", - wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="Category", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("name_es", models.CharField(max_length=255)), - ("slug", models.SlugField(help_text="Do not edit this field")), - ( - "slug_es", - models.SlugField(help_text="Do not edit this field"), - ), - ( - "intro", - wagtail.fields.RichTextField( - blank=True, - help_text="Do not use H2, H3, H4, or H5 to style this text. Do not add links, images, videos or other rich text elements.", - ), - ), - ( - "intro_es", - wagtail.fields.RichTextField( - blank=True, - help_text="Do not use this field. It is not currently displayed on the front end.", - ), - ), - ( - "category_image", - models.ForeignKey( - blank=True, - help_text="Select a custom image to appear when visitors share pages belonging to this category on social media.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - ], - options={ - "verbose_name_plural": "Categories", - "ordering": ["name"], - }, - ), - migrations.CreateModel( - name="NextStep", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255)), - ("show_title", models.BooleanField(default=False)), - ("text", wagtail.fields.RichTextField(blank=True)), - ], - ), - migrations.CreateModel( - name="PortalSearchPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ("overview", models.TextField(blank=True)), - ( - "portal_topic", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="portal_search_pages", - to="v1.portaltopic", - ), - ), - ], - options={ - "abstract": False, - }, - bases=( - wagtail.contrib.routable_page.models.RoutablePageMixin, - "v1.cfgovpage", - ), - ), - migrations.CreateModel( - name="TagResultsPage", - fields=[ - ( - "answerresultspage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="ask_cfpb.answerresultspage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=( - wagtail.contrib.routable_page.models.RoutablePageMixin, - "ask_cfpb.answerresultspage", - ), - ), - migrations.CreateModel( - name="ArticleLink", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ("text", models.CharField(max_length=255)), - ("url", models.CharField(max_length=255)), - ( - "article_page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="article_links", - to="ask_cfpb.articlepage", - ), - ), - ], - options={ - "ordering": ["sort_order"], - "abstract": False, - }, - ), - migrations.CreateModel( - name="AnswerPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "last_edited", - models.DateField( - blank=True, - help_text="Change the date to today if you make a significant change.", - null=True, - ), - ), - ("question", models.TextField(blank=True)), - ( - "statement", - models.TextField( - blank=True, - help_text="(Optional) Use this field to rephrase the question title as a statement. Use only if this answer has been chosen to appear on a money topic portal (e.g. /consumer-tools/debt-collection).", - ), - ), - ( - "short_answer", - wagtail.fields.RichTextField( - blank=True, help_text="Optional answer intro" - ), - ), - ( - "answer_content", - wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h2", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - verbose_name="Answer", - ), - ), - ( - "featured", - models.BooleanField( - default=False, - help_text="Check to make this one of two featured answers on the landing page.", - ), - ), - ("featured_rank", models.IntegerField(blank=True, null=True)), - ( - "search_tags", - models.CharField( - blank=True, - help_text="Search words or phrases, separated by commas", - max_length=1000, - ), - ), - ( - "sidebar", - wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "rss_feed", - v1.atomic_elements.molecules.RSSFeed(), - ), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "answer_base", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="answer_pages", - to="ask_cfpb.answer", - ), - ), - ( - "category", - models.ManyToManyField( - blank=True, - help_text="Categorize this answer. Avoid putting into more than one category.", - to="ask_cfpb.Category", - ), - ), - ( - "portal_category", - modelcluster.fields.ParentalManyToManyField( - blank=True, to="v1.PortalCategory" - ), - ), - ( - "portal_topic", - modelcluster.fields.ParentalManyToManyField( - blank=True, - help_text="Limit to 1 portal topic if possible", - to="v1.PortalTopic", - ), - ), - ( - "primary_portal_topic", - modelcluster.fields.ParentalKey( - blank=True, - help_text="Use only if assigning more than one portal topic, to control which topic is used as a breadcrumb.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="primary_portal_topic", - to="v1.portaltopic", - ), - ), - ( - "redirect_to_page", - models.ForeignKey( - blank=True, - help_text="Choose another AnswerPage to redirect this page to", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="redirect_to_pages", - to="ask_cfpb.answerpage", - ), - ), - ( - "related_questions", - modelcluster.fields.ParentalManyToManyField( - blank=True, - help_text="Maximum of 3 related questions", - related_name="related_question", - to="ask_cfpb.AnswerPage", - ), - ), - ( - "related_resource", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="v1.relatedresource", - ), - ), - ( - "share_and_print", - models.BooleanField( - default=False, - help_text="Include share and print buttons above answer.", - ), - ), - ( - "notification", - wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ], - help_text="Include only one notification.", - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="GlossaryTerm", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "name_en", - models.CharField( - max_length=255, verbose_name="TERM (ENGLISH)" - ), - ), - ( - "definition_en", - wagtail.fields.RichTextField( - blank=True, - null=True, - verbose_name="DEFINITION (ENGLISH)", - ), - ), - ( - "anchor_en", - models.CharField( - blank=True, - max_length=255, - null=True, - verbose_name="ANCHOR SLUG (ENGLISH)", - ), - ), - ( - "name_es", - models.CharField( - blank=True, - max_length=255, - null=True, - verbose_name="TERM (SPANISH)", - ), - ), - ( - "definition_es", - wagtail.fields.RichTextField( - blank=True, - null=True, - verbose_name="DEFINITION (SPANISH)", - ), - ), - ( - "anchor_es", - models.CharField( - blank=True, - max_length=255, - null=True, - verbose_name="ANCHOR SLUG (SPANISH)", - ), - ), - ( - "answer_page_en", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="glossary_terms", - to="ask_cfpb.answerpage", - verbose_name="ANSWER PAGE (ENGLISH)", - ), - ), - ( - "answer_page_es", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="glossary_terms_es", - to="ask_cfpb.answerpage", - verbose_name="ANSWER PAGE (SPANISH)", - ), - ), - ( - "portal_topic", - modelcluster.fields.ParentalKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="glossary_terms", - to="v1.portaltopic", - ), - ), - ], - options={ - "unique_together": {("portal_topic", "name_en")}, - }, - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.AlterField( - model_name="answer", - name="last_user", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - ), - ), - migrations.AlterField( - model_name="answerpage", - name="answer_content", - field=wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - help_text="Add an optional anchor link tag to allow linking directly to this block. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'block-one-tag')", - label="Anchor tag", - required=False, - ), - ), - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h2", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=["link", "document-link"], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - verbose_name="Answer", - ), - ), - migrations.AlterField( - model_name="answerpage", - name="notification", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - migrations.RemoveField( - model_name="articlepage", - name="cfgovpage_ptr", - ), - migrations.DeleteModel( - name="ArticleLink", - ), - migrations.DeleteModel( - name="ArticlePage", - ), - migrations.AlterField( - model_name="answerpage", - name="answer_content", - field=wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - help_text="Add an optional anchor link tag to allow linking directly to this block. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'block-one-tag')", - label="Anchor tag", - required=False, - ), - ), - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h2", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=["link", "document-link"], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="Answer", - ), - ), - migrations.AlterField( - model_name="answerpage", - name="notification", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="answerpage", - name="sidebar", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0002_remove_answerpage_redirect_to_page.py b/cfgov/ask_cfpb/migrations/0002_remove_answerpage_redirect_to_page.py deleted file mode 100644 index bc15db1acdf..00000000000 --- a/cfgov/ask_cfpb/migrations/0002_remove_answerpage_redirect_to_page.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-15 16:04 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0001_squashed_0047_add_use_json_field_to_streamfields'), - ] - - operations = [ - migrations.RemoveField( - model_name='answerpage', - name='redirect_to_page', - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0003_remove_answerpage_share_and_print.py b/cfgov/ask_cfpb/migrations/0003_remove_answerpage_share_and_print.py deleted file mode 100644 index b4174f986df..00000000000 --- a/cfgov/ask_cfpb/migrations/0003_remove_answerpage_share_and_print.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-15 16:43 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0002_remove_answerpage_redirect_to_page'), - ] - - operations = [ - migrations.RemoveField( - model_name='answerpage', - name='share_and_print', - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0004_new_table_block.py b/cfgov/ask_cfpb/migrations/0004_new_table_block.py deleted file mode 100644 index 8fe4d2f4c06..00000000000 --- a/cfgov/ask_cfpb/migrations/0004_new_table_block.py +++ /dev/null @@ -1,672 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("ask_cfpb", "0003_remove_answerpage_share_and_print"), - ] - - operations = [ - migrations.AlterField( - model_name="answerpage", - name="answer_content", - field=wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - help_text="Add an optional anchor link tag to allow linking directly to this block. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'block-one-tag')", - label="Anchor tag", - required=False, - ), - ), - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h2", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=["link", "document-link"], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="Answer", - ), - ), - ] diff --git a/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py b/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py index 9a15b4120e2..cc579ba2978 100644 --- a/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py +++ b/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py @@ -5,13 +5,10 @@ class Migration(migrations.Migration): - - replaces = [('data_research', '0001_squashed_0013_auto_20200811_1143'), ('data_research', '0002_prep_for_deprecated_model_swapout'), ('data_research', '0003_delete_conferenceregistration')] - initial = True dependencies = [ - ('v1', '0001_squashed_0235_add_use_json_field_to_streamfields'), + ('v1', '0001_squashed_0254_delete_campaignpage'), ] operations = [ diff --git a/cfgov/filing_instruction_guide/migrations/0001_squashed_0011_add_use_json_field_to_streamfields.py b/cfgov/filing_instruction_guide/migrations/0001_squashed_0011_add_use_json_field_to_streamfields.py deleted file mode 100644 index ce67cba1698..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0001_squashed_0011_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,8328 +0,0 @@ -# Generated by Django 3.2.18 on 2023-04-25 14:43 - -import datetime - -import django.db.models.deletion -from django.db import migrations, models - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks -import modelcluster.fields - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - replaces = [ - ("filing_instruction_guide", "0001_create_fig_models"), - ("filing_instruction_guide", "0002_flatten_fig_data_model"), - ("filing_instruction_guide", "0003_emailsignup_snippet"), - ("filing_instruction_guide", "0004_custom_content_block_options"), - ( - "filing_instruction_guide", - "0005_improve_fig_block_names_and_help_text", - ), - ("filing_instruction_guide", "0006_add_fig_version_info"), - ("filing_instruction_guide", "0007_heading_block_h5s"), - ("filing_instruction_guide", "0008_import_data_points"), - ("filing_instruction_guide", "0009_add_content_above_first_section"), - ("filing_instruction_guide", "0010_simplify_expandables"), - ( - "filing_instruction_guide", - "0011_add_use_json_field_to_streamfields", - ), - ] - - initial = True - - dependencies = [ - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ] - - operations = [ - migrations.CreateModel( - name="FIGContentPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ("eyebrow", models.CharField(blank=True, max_length=100)), - ("page_header", models.CharField(blank=True, max_length=200)), - ("subheader", models.TextField(blank=True)), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "Fig_Section", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Section header (h2)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ( - "p", - "p", - ), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "data_points_block", - filing_instruction_guide.blocks.FigDataPointsBlock(), - ), - ], - block_counts={ - "data_points_block": { - "max_num": 1 - } - }, - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Subsection header (h3)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ( - "p", - "p", - ), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Level_3_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Level 3 subsection header (h4)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ( - "p", - "p", - ), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ( - "effective_end_date", - models.DateField(blank=True, null=True), - ), - ( - "effective_start_date", - models.DateField( - blank=True, default=datetime.date.today, null=True - ), - ), - ( - "version_status", - models.CharField( - choices=[ - ("current", "Current"), - ("old", "Out-of-date"), - ("archived", "Archived"), - ], - default="current", - max_length=20, - ), - ), - ( - "data_points_download_location", - models.CharField( - blank=True, - help_text="The URL of the raw JSON file containing the FIG data points", - max_length=300, - ), - ), - ( - "top_content", - wagtail.fields.StreamField( - [ - ( - "top_content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - help_text="Content that will appear above the first FIG section", - required=False, - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="DataPoint", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("number", models.IntegerField(blank=True)), - ("title", models.CharField(blank=True, max_length=400)), - ("anchor", models.CharField(blank=True, max_length=400)), - ("rule_section", models.CharField(blank=True, max_length=100)), - ("intro_text", models.TextField(blank=True)), - ( - "page", - modelcluster.fields.ParentalKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="data_points", - to="filing_instruction_guide.figcontentpage", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="DataFieldJson", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("info", models.JSONField(blank=True)), - ( - "data_point", - modelcluster.fields.ParentalKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="data_fields_json", - to="filing_instruction_guide.datapoint", - ), - ), - ], - ), - ] diff --git a/cfgov/filing_instruction_guide/migrations/0001_squashed_0014_new_table_block.py b/cfgov/filing_instruction_guide/migrations/0001_squashed_0014_new_table_block.py new file mode 100644 index 00000000000..45865f73c9c --- /dev/null +++ b/cfgov/filing_instruction_guide/migrations/0001_squashed_0014_new_table_block.py @@ -0,0 +1,65 @@ +# Generated by Django 3.2.20 on 2023-08-02 21:08 + +import datetime +from django.db import migrations, models +import django.db.models.deletion +import filing_instruction_guide.blocks +import modelcluster.fields +import v1.blocks +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('v1', '0001_squashed_0254_delete_campaignpage'), + ] + + operations = [ + migrations.CreateModel( + name='FIGContentPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('eyebrow', models.CharField(blank=True, max_length=100)), + ('page_header', models.CharField(blank=True, max_length=200)), + ('subheader', models.TextField(blank=True)), + ('content', wagtail.fields.StreamField([('Fig_Section', wagtail.blocks.StructBlock([('header', wagtail.blocks.TextBlock(label='Section header (h2)')), ('section_id', wagtail.blocks.TextBlock(help_text='Will be filled in automatically upon save.', required=False)), ('content', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))])), ('data_points_block', filing_instruction_guide.blocks.FigDataPointsBlock())], block_counts={'data_points_block': {'max_num': 1}}, required=False))])), ('Fig_Subsection', wagtail.blocks.StructBlock([('header', wagtail.blocks.TextBlock(label='Subsection header (h3)')), ('section_id', wagtail.blocks.TextBlock(help_text='Will be filled in automatically upon save.', required=False)), ('content', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))]))], required=False))])), ('Fig_Level_3_Subsection', wagtail.blocks.StructBlock([('header', wagtail.blocks.TextBlock(label='Level 3 subsection header (h4)')), ('section_id', wagtail.blocks.TextBlock(help_text='Will be filled in automatically upon save.', required=False)), ('content', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))]))], required=False))]))], use_json_field=True)), + ('effective_end_date', models.DateField(blank=True, null=True)), + ('effective_start_date', models.DateField(blank=True, default=datetime.date.today, null=True)), + ('version_status', models.CharField(choices=[('current', 'Current'), ('old', 'Out-of-date'), ('archived', 'Archived')], default='current', max_length=20)), + ('data_points_download_location', models.CharField(blank=True, help_text='The URL of the raw JSON file containing the FIG data points', max_length=300)), + ('top_content', wagtail.fields.StreamField([('top_content', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))]))], help_text='Content that will appear above the first FIG section', required=False))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='DataPoint', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('number', models.IntegerField(blank=True)), + ('title', models.CharField(blank=True, max_length=400)), + ('anchor', models.CharField(blank=True, max_length=400)), + ('rule_section', models.CharField(blank=True, max_length=100)), + ('intro_text', models.TextField(blank=True)), + ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='data_points', to='filing_instruction_guide.figcontentpage')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='DataFieldJson', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('info', models.JSONField(blank=True)), + ('data_point', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='data_fields_json', to='filing_instruction_guide.datapoint')), + ], + ), + ] diff --git a/cfgov/filing_instruction_guide/migrations/0012_remove_content_image_bleed_option.py b/cfgov/filing_instruction_guide/migrations/0012_remove_content_image_bleed_option.py deleted file mode 100644 index 41b7a5a5ff2..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0012_remove_content_image_bleed_option.py +++ /dev/null @@ -1,8153 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-03 22:08 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ( - "filing_instruction_guide", - "0001_squashed_0011_add_use_json_field_to_streamfields", - ), - ] - - operations = [ - migrations.AlterField( - model_name="figcontentpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "Fig_Section", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Section header (h2)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "data_points_block", - filing_instruction_guide.blocks.FigDataPointsBlock(), - ), - ], - block_counts={ - "data_points_block": {"max_num": 1} - }, - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Subsection header (h3)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Level_3_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Level 3 subsection header (h4)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="figcontentpage", - name="top_content", - field=wagtail.fields.StreamField( - [ - ( - "top_content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ( - "33-33-33", - "33/33/33", - ), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ( - "datetime", - "Date/time", - ), - ("line", "Line"), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - help_text="Content that will appear above the first FIG section", - required=False, - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/filing_instruction_guide/migrations/0013_fig_no_tables.py b/cfgov/filing_instruction_guide/migrations/0013_fig_no_tables.py deleted file mode 100644 index e53b0decb61..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0013_fig_no_tables.py +++ /dev/null @@ -1,8147 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-13 18:15 - -from django.db import migrations -import filing_instruction_guide.blocks -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("filing_instruction_guide", "0012_remove_content_image_bleed_option"), - ] - - operations = [ - migrations.AlterField( - model_name="figcontentpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "Fig_Section", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Section header (h2)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "data_points_block", - filing_instruction_guide.blocks.FigDataPointsBlock(), - ), - ], - block_counts={ - "data_points_block": {"max_num": 1} - }, - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Subsection header (h3)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Level_3_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Level 3 subsection header (h4)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="figcontentpage", - name="top_content", - field=wagtail.fields.StreamField( - [ - ( - "top_content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ( - "33-33-33", - "33/33/33", - ), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ( - "datetime", - "Date/time", - ), - ("line", "Line"), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - help_text="Content that will appear above the first FIG section", - required=False, - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/filing_instruction_guide/migrations/0014_new_table_block.py b/cfgov/filing_instruction_guide/migrations/0014_new_table_block.py deleted file mode 100644 index 215ac90ecf7..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0014_new_table_block.py +++ /dev/null @@ -1,8532 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import filing_instruction_guide.blocks -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("filing_instruction_guide", "0013_fig_no_tables"), - ] - - operations = [ - migrations.AlterField( - model_name="figcontentpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "Fig_Section", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Section header (h2)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "data_points_block", - filing_instruction_guide.blocks.FigDataPointsBlock(), - ), - ], - block_counts={ - "data_points_block": {"max_num": 1} - }, - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Subsection header (h3)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "Fig_Level_3_Subsection", - wagtail.blocks.StructBlock( - [ - ( - "header", - wagtail.blocks.TextBlock( - label="Level 3 subsection header (h4)" - ), - ), - ( - "section_id", - wagtail.blocks.TextBlock( - help_text="Will be filled in automatically upon save.", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar", - ), - ( - "datetime", - "Date/time", - ), - ( - "line", - "Line", - ), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "70", - "70%", - ), - ( - "66", - "66%", - ), - ( - "60", - "60%", - ), - ( - "50", - "50%", - ), - ( - "40", - "40%", - ), - ( - "33", - "33%", - ), - ( - "30", - "30%", - ), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "h2", - ), - ( - "h3", - "h3", - ), - ( - "h4", - "h4", - ), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="figcontentpage", - name="top_content", - field=wagtail.fields.StreamField( - [ - ( - "top_content", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ( - "33-33-33", - "33/33/33", - ), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ( - "datetime", - "Date/time", - ), - ("line", "Line"), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - help_text="Content that will appear above the first FIG section", - required=False, - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/form_explainer/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py b/cfgov/form_explainer/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py deleted file mode 100644 index 34759307e41..00000000000 --- a/cfgov/form_explainer/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,911 +0,0 @@ -# Generated by Django 3.2.18 on 2023-04-25 14:44 - -import django.db.models.deletion -from django.db import migrations, models - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - replaces = [ - ("form_explainer", "0001_2022_squash"), - ("form_explainer", "0002_deprecate_feedback_block"), - ("form_explainer", "0003_add_full_width_text_option"), - ("form_explainer", "0004_heading_block_h5s"), - ("form_explainer", "0005_add_explainer_heading"), - ("form_explainer", "0006_add_use_json_field_to_streamfields"), - ] - - initial = True - - dependencies = [ - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ] - - operations = [ - migrations.CreateModel( - name="FormExplainerPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "explainer", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - label="Heading (optional)", - required=False, - ), - ), - ( - "pages", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", - required=True, - ), - ), - ( - "categories", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - help_text="Optional. Leave blank if there is only one type of note for this image.", - label="Category title", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - label="Expandable header", - required=True, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "link", - "document-link", - ], - label="Expandable text", - required=True, - ), - ), - ( - "coordinates", - wagtail.blocks.StructBlock( - [ - ( - "left", - wagtail.blocks.FloatBlock( - label="X value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "top", - wagtail.blocks.FloatBlock( - label="Y value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "width", - wagtail.blocks.FloatBlock( - label="Width (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "height", - wagtail.blocks.FloatBlock( - label="Height (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ], - form_classname="coordinates", - help_text='Enter percentage values for the highlighted area of the image associated with this expandable. See Hubcap documentation for more information on identifying coordinates.', - label="Image coordinates", - ), - ), - ], - form_classname="explainer_notes", - required=False, - ), - default=[], - ), - ), - ], - required=False, - ) - ), - ), - ], - required=False, - ) - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - ] diff --git a/cfgov/form_explainer/migrations/0001_squashed_0008_new_table_block.py b/cfgov/form_explainer/migrations/0001_squashed_0008_new_table_block.py new file mode 100644 index 00000000000..7bb8760d576 --- /dev/null +++ b/cfgov/form_explainer/migrations/0001_squashed_0008_new_table_block.py @@ -0,0 +1,32 @@ +# Generated by Django 3.2.20 on 2023-08-02 21:09 + +from django.db import migrations, models +import django.db.models.deletion +import v1.blocks +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('v1', '0001_squashed_0254_delete_campaignpage'), + ] + + operations = [ + migrations.CreateModel( + name='FormExplainerPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))])), ('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], label='Heading (optional)', required=False)), ('pages', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Optional. Leave blank if there is only one type of note for this image.', label='Category title', required=False)), ('notes', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(label='Expandable header', required=True)), ('body', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label='Expandable text', required=True)), ('coordinates', wagtail.blocks.StructBlock([('left', wagtail.blocks.FloatBlock(label='X value (in percentage)', max_value=100, min_value=0, required=True)), ('top', wagtail.blocks.FloatBlock(label='Y value (in percentage)', max_value=100, min_value=0, required=True)), ('width', wagtail.blocks.FloatBlock(label='Width (in percentage)', max_value=100, min_value=0, required=True)), ('height', wagtail.blocks.FloatBlock(label='Height (in percentage)', max_value=100, min_value=0, required=True))], form_classname='coordinates', help_text='Enter percentage values for the highlighted area of the image associated with this expandable. See Hubcap documentation for more information on identifying coordinates.', label='Image coordinates'))], form_classname='explainer_notes', required=False), default=[]))], required=False)))], required=False)))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))]))], use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + ] diff --git a/cfgov/form_explainer/migrations/0007_remove_content_image_bleed_option.py b/cfgov/form_explainer/migrations/0007_remove_content_image_bleed_option.py deleted file mode 100644 index 587bad96a2a..00000000000 --- a/cfgov/form_explainer/migrations/0007_remove_content_image_bleed_option.py +++ /dev/null @@ -1,717 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-03 22:08 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ( - "form_explainer", - "0001_squashed_0006_add_use_json_field_to_streamfields", - ), - ] - - operations = [ - migrations.AlterField( - model_name="formexplainerpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "explainer", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - label="Heading (optional)", - required=False, - ), - ), - ( - "pages", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", - required=True, - ), - ), - ( - "categories", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - help_text="Optional. Leave blank if there is only one type of note for this image.", - label="Category title", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - label="Expandable header", - required=True, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "link", - "document-link", - ], - label="Expandable text", - required=True, - ), - ), - ( - "coordinates", - wagtail.blocks.StructBlock( - [ - ( - "left", - wagtail.blocks.FloatBlock( - label="X value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "top", - wagtail.blocks.FloatBlock( - label="Y value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "width", - wagtail.blocks.FloatBlock( - label="Width (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "height", - wagtail.blocks.FloatBlock( - label="Height (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ], - form_classname="coordinates", - help_text='Enter percentage values for the highlighted area of the image associated with this expandable. See Hubcap documentation for more information on identifying coordinates.', - label="Image coordinates", - ), - ), - ], - form_classname="explainer_notes", - required=False, - ), - default=[], - ), - ), - ], - required=False, - ) - ), - ), - ], - required=False, - ) - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/form_explainer/migrations/0008_new_table_block.py b/cfgov/form_explainer/migrations/0008_new_table_block.py deleted file mode 100644 index 4bda96cb728..00000000000 --- a/cfgov/form_explainer/migrations/0008_new_table_block.py +++ /dev/null @@ -1,809 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("form_explainer", "0007_remove_content_image_bleed_option"), - ] - - operations = [ - migrations.AlterField( - model_name="formexplainerpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "explainer", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - label="Heading (optional)", - required=False, - ), - ), - ( - "pages", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", - required=True, - ), - ), - ( - "categories", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - help_text="Optional. Leave blank if there is only one type of note for this image.", - label="Category title", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - label="Expandable header", - required=True, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "link", - "document-link", - ], - label="Expandable text", - required=True, - ), - ), - ( - "coordinates", - wagtail.blocks.StructBlock( - [ - ( - "left", - wagtail.blocks.FloatBlock( - label="X value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "top", - wagtail.blocks.FloatBlock( - label="Y value (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "width", - wagtail.blocks.FloatBlock( - label="Width (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ( - "height", - wagtail.blocks.FloatBlock( - label="Height (in percentage)", - max_value=100, - min_value=0, - required=True, - ), - ), - ], - form_classname="coordinates", - help_text='Enter percentage values for the highlighted area of the image associated with this expandable. See Hubcap documentation for more information on identifying coordinates.', - label="Image coordinates", - ), - ), - ], - form_classname="explainer_notes", - required=False, - ), - default=[], - ), - ), - ], - required=False, - ) - ), - ), - ], - required=False, - ) - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/hmda/migrations/0001_initial.py b/cfgov/hmda/migrations/0001_initial.py index c1b96c50c90..8c687710de2 100644 --- a/cfgov/hmda/migrations/0001_initial.py +++ b/cfgov/hmda/migrations/0001_initial.py @@ -10,7 +10,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('v1', '0001_squashed_0235_add_use_json_field_to_streamfields'), + ('v1', '0001_squashed_0254_delete_campaignpage'), ] operations = [ diff --git a/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py b/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py index bec87d4c7cb..39799b7d7df 100644 --- a/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py +++ b/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py @@ -9,13 +9,10 @@ class Migration(migrations.Migration): - - replaces = [('jobmanager', '0017_recreated'), ('jobmanager', '0018_recreated_2'), ('jobmanager', '0019_2022_squash'), ('jobmanager', '0020_hourly_salary')] - initial = True dependencies = [ - ('v1', '0001_squashed_0235_add_use_json_field_to_streamfields'), + ('v1', '0001_squashed_0254_delete_campaignpage'), ] operations = [ diff --git a/cfgov/login/migrations/0001_squashed_0003_simplify_password_logic.py b/cfgov/login/migrations/0001_squashed_0003_simplify_password_logic.py index ee07217d4b5..ed2a72e93fa 100644 --- a/cfgov/login/migrations/0001_squashed_0003_simplify_password_logic.py +++ b/cfgov/login/migrations/0001_squashed_0003_simplify_password_logic.py @@ -6,9 +6,6 @@ class Migration(migrations.Migration): - - replaces = [('login', '0001_add_login_models'), ('login', '0002_populate_login_models'), ('login', '0003_simplify_password_logic')] - initial = True dependencies = [ diff --git a/cfgov/mega_menu/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py b/cfgov/mega_menu/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py index b7a85ef517f..dc435e1bcf9 100644 --- a/cfgov/mega_menu/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py +++ b/cfgov/mega_menu/migrations/0001_squashed_0006_add_use_json_field_to_streamfields.py @@ -7,9 +7,6 @@ class Migration(migrations.Migration): - - replaces = [('mega_menu', '0001_initial'), ('mega_menu', '0002_remove_featured_content'), ('mega_menu', '0003_additional_languages'), ('mega_menu', '0004_deprecate_zh_hans'), ('mega_menu', '0005_rename_chinese'), ('mega_menu', '0006_add_use_json_field_to_streamfields')] - initial = True dependencies = [ diff --git a/cfgov/paying_for_college/migrations/0001_squashed_0018_add_use_json_field_to_streamfields.py b/cfgov/paying_for_college/migrations/0001_squashed_0018_add_use_json_field_to_streamfields.py deleted file mode 100644 index 19647937907..00000000000 --- a/cfgov/paying_for_college/migrations/0001_squashed_0018_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,12895 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-04 14:47 - -import django.core.validators -import django.db.models.deletion -from django.db import migrations, models - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - replaces = [ - ("paying_for_college", "0007_recreated"), - ("paying_for_college", "0008_recreated2"), - ("paying_for_college", "0009_2022_squash"), - ("paying_for_college", "0010_remove_well_with_ask_search"), - ("paying_for_college", "0011_add_faq_group_and_expandable_option"), - ("paying_for_college", "0012_expandable_info_units"), - ("paying_for_college", "0013_emailsignup_snippet"), - ( - "paying_for_college", - "0014_convert_email_signups_blocks_to_snippets", - ), - ("paying_for_college", "0015_delete_feedback"), - ("paying_for_college", "0016_heading_block_h5s"), - ("paying_for_college", "0017_simplify_expandables"), - ("paying_for_college", "0018_add_use_json_field_to_streamfields"), - ] - - initial = True - - dependencies = [ - ("wagtailcore", "0060_fix_workflow_unique_constraint"), - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ("wagtailinventory", "0001_initial"), - ("wagtailforms", "0004_add_verbose_name_plural"), - ("wagtailredirects", "0006_redirect_increase_max_length"), - ] - - operations = [ - migrations.CreateModel( - name="BAHRate", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("zip5", models.CharField(max_length=5)), - ("value", models.IntegerField()), - ], - ), - migrations.CreateModel( - name="ConstantCap", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "slug", - models.CharField( - blank=True, - help_text="VARIABLE NAME FOR JS", - max_length=255, - ), - ), - ("value", models.IntegerField()), - ("note", models.TextField(blank=True)), - ("updated", models.DateField(auto_now=True)), - ], - options={ - "ordering": ["slug"], - }, - ), - migrations.CreateModel( - name="ConstantRate", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "slug", - models.CharField( - blank=True, - help_text="VARIABLE NAME FOR JS", - max_length=255, - ), - ), - ("value", models.DecimalField(decimal_places=5, max_digits=6)), - ("note", models.TextField(blank=True)), - ("updated", models.DateField(auto_now=True)), - ], - options={ - "ordering": ["slug"], - }, - ), - migrations.CreateModel( - name="Contact", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "contacts", - models.TextField( - blank=True, help_text="COMMA-SEPARATED LIST OF EMAILS" - ), - ), - ("endpoint", models.CharField(blank=True, max_length=255)), - ("name", models.CharField(blank=True, max_length=255)), - ("internal_note", models.TextField(blank=True)), - ], - ), - migrations.CreateModel( - name="Feedback", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("url", models.TextField(blank=True, null=True)), - ("created", models.DateTimeField(auto_now_add=True)), - ("message", models.TextField()), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="School", - fields=[ - ( - "school_id", - models.IntegerField(primary_key=True, serialize=False), - ), - ("ope6_id", models.IntegerField(blank=True, null=True)), - ("ope8_id", models.IntegerField(blank=True, null=True)), - ( - "settlement_school", - models.CharField(blank=True, default="", max_length=100), - ), - ("data_json", models.TextField(blank=True)), - ("city", models.CharField(blank=True, max_length=50)), - ("state", models.CharField(blank=True, max_length=2)), - ("zip5", models.CharField(blank=True, max_length=5)), - ("enrollment", models.IntegerField(blank=True, null=True)), - ("accreditor", models.CharField(blank=True, max_length=255)), - ("ownership", models.CharField(blank=True, max_length=255)), - ( - "control", - models.CharField( - blank=True, - help_text="'Public', 'Private' or 'For-profit'", - max_length=50, - ), - ), - ("url", models.TextField(blank=True)), - ("degrees_predominant", models.TextField(blank=True)), - ("degrees_highest", models.TextField(blank=True)), - ("program_count", models.IntegerField(blank=True, null=True)), - ( - "program_most_popular", - models.JSONField(blank=True, null=True), - ), - ("main_campus", models.BooleanField(blank=True, null=True)), - ("online_only", models.BooleanField(blank=True, null=True)), - ("operating", models.BooleanField(default=True)), - ( - "under_investigation", - models.BooleanField( - default=False, help_text="Heightened Cash Monitoring 2" - ), - ), - ("KBYOSS", models.BooleanField(default=False)), - ( - "grad_rate_4yr", - models.DecimalField( - blank=True, decimal_places=3, max_digits=5, null=True - ), - ), - ( - "grad_rate_lt4", - models.DecimalField( - blank=True, decimal_places=3, max_digits=5, null=True - ), - ), - ( - "grad_rate", - models.DecimalField( - blank=True, - decimal_places=3, - help_text="A 2-YEAR POOLED VALUE", - max_digits=5, - null=True, - ), - ), - ( - "repay_3yr", - models.DecimalField( - blank=True, - decimal_places=10, - help_text="GRADS WITH A DECLINING BALANCE AFTER 3 YRS", - max_digits=13, - null=True, - ), - ), - ( - "repay_5yr", - models.DecimalField( - blank=True, - decimal_places=10, - help_text="GRADS WITH A DECLINING BALANCE AFTER 5 YRS", - max_digits=13, - null=True, - ), - ), - ( - "default_rate", - models.DecimalField( - blank=True, - decimal_places=3, - help_text="LOAN DEFAULT RATE AT 5 YRS", - max_digits=5, - null=True, - ), - ), - ( - "median_total_debt", - models.DecimalField( - blank=True, - decimal_places=1, - help_text="MEDIAN STUDENT DEBT 10 YRS AFTER ENROLLING", - max_digits=7, - null=True, - ), - ), - ( - "median_monthly_debt", - models.DecimalField( - blank=True, - decimal_places=2, - help_text="MEDIAN STUDENT MONTHLY DEBT", - max_digits=7, - null=True, - ), - ), - ( - "median_annual_pay", - models.IntegerField( - blank=True, - help_text="MEDIAN PAY 10 YRS AFTER ENTRY", - null=True, - ), - ), - ( - "median_annual_pay_6yr", - models.IntegerField( - blank=True, - help_text="MEDIAN PAY 6 YRS AFTER ENTRY", - null=True, - ), - ), - ( - "avg_net_price", - models.IntegerField( - blank=True, help_text="OVERALL AVERAGE", null=True - ), - ), - ( - "avg_net_price_slices", - models.JSONField(blank=True, null=True), - ), - ( - "tuition_out_of_state", - models.IntegerField(blank=True, null=True), - ), - ( - "tuition_in_state", - models.IntegerField(blank=True, null=True), - ), - ("offers_perkins", models.BooleanField(default=False)), - ( - "cohort_ranking_by_control", - models.JSONField(blank=True, null=True), - ), - ( - "cohort_ranking_by_highest_degree", - models.JSONField(blank=True, null=True), - ), - ( - "cohort_ranking_by_state", - models.JSONField(blank=True, null=True), - ), - ( - "associate_transfer_rate", - models.DecimalField( - blank=True, - decimal_places=3, - help_text="Transfer rate for first-time, full-time students at less-than-four-year institutions (150% of expected time to completion)", - max_digits=5, - null=True, - ), - ), - ( - "contact", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="paying_for_college.contact", - ), - ), - ], - ), - migrations.CreateModel( - name="Notification", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("url", models.TextField(blank=True, null=True)), - ("oid", models.CharField(max_length=40)), - ("timestamp", models.DateTimeField()), - ("errors", models.CharField(max_length=255)), - ( - "emails", - models.TextField( - blank=True, - help_text="COMMA-SEPARATED STRING OF EMAILS", - ), - ), - ("sent", models.BooleanField(default=False)), - ("log", models.TextField(blank=True)), - ( - "institution", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="paying_for_college.school", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="Nickname", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("nickname", models.TextField()), - ("is_female", models.BooleanField(default=False)), - ( - "institution", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="paying_for_college.school", - ), - ), - ], - options={ - "ordering": ["nickname"], - }, - ), - migrations.CreateModel( - name="Alias", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("alias", models.TextField()), - ("is_primary", models.BooleanField(default=False)), - ( - "institution", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="paying_for_college.school", - ), - ), - ], - options={ - "verbose_name_plural": "Aliases", - }, - ), - migrations.CreateModel( - name="Program", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("program_name", models.CharField(max_length=255)), - ("accreditor", models.CharField(blank=True, max_length=255)), - ("level", models.CharField(blank=True, max_length=255)), - ("program_code", models.CharField(blank=True, max_length=255)), - ("campus", models.CharField(blank=True, max_length=255)), - ("cip_code", models.CharField(blank=True, max_length=255)), - ("soc_codes", models.CharField(blank=True, max_length=255)), - ( - "total_cost", - models.IntegerField( - blank=True, help_text="COMPUTED", null=True - ), - ), - ( - "time_to_complete", - models.IntegerField( - blank=True, help_text="IN MONTHS", null=True - ), - ), - ( - "completion_rate", - models.DecimalField( - blank=True, decimal_places=2, max_digits=5, null=True - ), - ), - ( - "completion_cohort", - models.IntegerField( - blank=True, help_text="COMPLETION COHORT", null=True - ), - ), - ( - "completers", - models.IntegerField( - blank=True, - help_text="COMPLETERS OF THE PROGRAM", - null=True, - ), - ), - ("titleiv_debt", models.IntegerField(blank=True, null=True)), - ("private_debt", models.IntegerField(blank=True, null=True)), - ( - "institutional_debt", - models.IntegerField(blank=True, null=True), - ), - ( - "mean_student_loan_completers", - models.IntegerField( - blank=True, - help_text="TITLEIV_DEBT + PRIVATE_DEBT + INSTITUTIONAL_DEBT", - null=True, - ), - ), - ( - "median_student_loan_completers", - models.IntegerField( - blank=True, - help_text="TITLEIV_DEBT + PRIVATE_DEBT + INSTITUTIONAL_DEBT", - null=True, - ), - ), - ( - "default_rate", - models.DecimalField( - blank=True, decimal_places=2, max_digits=5, null=True - ), - ), - ( - "salary", - models.IntegerField( - blank=True, help_text="MEDIAN SALARY", null=True - ), - ), - ( - "program_length", - models.IntegerField( - blank=True, help_text="IN MONTHS", null=True - ), - ), - ("tuition", models.IntegerField(blank=True, null=True)), - ("fees", models.IntegerField(blank=True, null=True)), - ( - "housing", - models.IntegerField( - blank=True, help_text="HOUSING & MEALS", null=True - ), - ), - ( - "books", - models.IntegerField( - blank=True, help_text="BOOKS & SUPPLIES", null=True - ), - ), - ("transportation", models.IntegerField(blank=True, null=True)), - ("other_costs", models.IntegerField(blank=True, null=True)), - ( - "job_rate", - models.DecimalField( - blank=True, - decimal_places=2, - help_text="COMPLETERS WHO GET RELATED JOB", - max_digits=5, - null=True, - ), - ), - ( - "job_note", - models.TextField( - blank=True, help_text="EXPLANATION FROM SCHOOL" - ), - ), - ("test", models.BooleanField(default=False)), - ( - "institution", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="paying_for_college.school", - ), - ), - ( - "level_name", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "median_monthly_debt", - models.IntegerField( - blank=True, - help_text="MEDIAN MONTHLY PAYMENT FOR A 10-YEAR LOAN", - null=True, - ), - ), - ], - ), - migrations.CreateModel( - name="CollegeCostsPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="RepayingStudentDebtPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.DeleteModel( - name="Feedback", - ), - migrations.AlterField( - model_name="collegecostspage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="collegecostspage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="collegecostspage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="collegecostspage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/paying_for_college/migrations/0001_squashed_0020_new_table_block.py b/cfgov/paying_for_college/migrations/0001_squashed_0020_new_table_block.py new file mode 100644 index 00000000000..a1d97d93412 --- /dev/null +++ b/cfgov/paying_for_college/migrations/0001_squashed_0020_new_table_block.py @@ -0,0 +1,220 @@ +# Generated by Django 3.2.20 on 2023-08-02 21:10 + +from django.db import migrations, models +import django.db.models.deletion +import v1.blocks +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('v1', '0001_squashed_0254_delete_campaignpage'), + ('wagtailredirects', '0006_redirect_increase_max_length'), + ('wagtailforms', '0004_add_verbose_name_plural'), + ('wagtailinventory', '0001_initial'), + ('wagtailcore', '0060_fix_workflow_unique_constraint'), + ] + + operations = [ + migrations.CreateModel( + name='BAHRate', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('zip5', models.CharField(max_length=5)), + ('value', models.IntegerField()), + ], + ), + migrations.CreateModel( + name='ConstantCap', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('slug', models.CharField(blank=True, help_text='VARIABLE NAME FOR JS', max_length=255)), + ('value', models.IntegerField()), + ('note', models.TextField(blank=True)), + ('updated', models.DateField(auto_now=True)), + ], + options={ + 'ordering': ['slug'], + }, + ), + migrations.CreateModel( + name='ConstantRate', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('slug', models.CharField(blank=True, help_text='VARIABLE NAME FOR JS', max_length=255)), + ('value', models.DecimalField(decimal_places=5, max_digits=6)), + ('note', models.TextField(blank=True)), + ('updated', models.DateField(auto_now=True)), + ], + options={ + 'ordering': ['slug'], + }, + ), + migrations.CreateModel( + name='Contact', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('contacts', models.TextField(blank=True, help_text='COMMA-SEPARATED LIST OF EMAILS')), + ('endpoint', models.CharField(blank=True, max_length=255)), + ('name', models.CharField(blank=True, max_length=255)), + ('internal_note', models.TextField(blank=True)), + ], + ), + migrations.CreateModel( + name='School', + fields=[ + ('school_id', models.IntegerField(primary_key=True, serialize=False)), + ('ope6_id', models.IntegerField(blank=True, null=True)), + ('ope8_id', models.IntegerField(blank=True, null=True)), + ('settlement_school', models.CharField(blank=True, default='', max_length=100)), + ('data_json', models.TextField(blank=True)), + ('city', models.CharField(blank=True, max_length=50)), + ('state', models.CharField(blank=True, max_length=2)), + ('zip5', models.CharField(blank=True, max_length=5)), + ('enrollment', models.IntegerField(blank=True, null=True)), + ('accreditor', models.CharField(blank=True, max_length=255)), + ('ownership', models.CharField(blank=True, max_length=255)), + ('control', models.CharField(blank=True, help_text="'Public', 'Private' or 'For-profit'", max_length=50)), + ('url', models.TextField(blank=True)), + ('degrees_predominant', models.TextField(blank=True)), + ('degrees_highest', models.TextField(blank=True)), + ('program_count', models.IntegerField(blank=True, null=True)), + ('program_most_popular', models.JSONField(blank=True, null=True)), + ('main_campus', models.BooleanField(blank=True, null=True)), + ('online_only', models.BooleanField(blank=True, null=True)), + ('operating', models.BooleanField(default=True)), + ('under_investigation', models.BooleanField(default=False, help_text='Heightened Cash Monitoring 2')), + ('KBYOSS', models.BooleanField(default=False)), + ('grad_rate_4yr', models.DecimalField(blank=True, decimal_places=3, max_digits=5, null=True)), + ('grad_rate_lt4', models.DecimalField(blank=True, decimal_places=3, max_digits=5, null=True)), + ('grad_rate', models.DecimalField(blank=True, decimal_places=3, help_text='A 2-YEAR POOLED VALUE', max_digits=5, null=True)), + ('repay_3yr', models.DecimalField(blank=True, decimal_places=10, help_text='GRADS WITH A DECLINING BALANCE AFTER 3 YRS', max_digits=13, null=True)), + ('repay_5yr', models.DecimalField(blank=True, decimal_places=10, help_text='GRADS WITH A DECLINING BALANCE AFTER 5 YRS', max_digits=13, null=True)), + ('default_rate', models.DecimalField(blank=True, decimal_places=3, help_text='LOAN DEFAULT RATE AT 5 YRS', max_digits=5, null=True)), + ('median_total_debt', models.DecimalField(blank=True, decimal_places=1, help_text='MEDIAN STUDENT DEBT 10 YRS AFTER ENROLLING', max_digits=7, null=True)), + ('median_monthly_debt', models.DecimalField(blank=True, decimal_places=2, help_text='MEDIAN STUDENT MONTHLY DEBT', max_digits=7, null=True)), + ('median_annual_pay', models.IntegerField(blank=True, help_text='MEDIAN PAY 10 YRS AFTER ENTRY', null=True)), + ('median_annual_pay_6yr', models.IntegerField(blank=True, help_text='MEDIAN PAY 6 YRS AFTER ENTRY', null=True)), + ('avg_net_price', models.IntegerField(blank=True, help_text='OVERALL AVERAGE', null=True)), + ('avg_net_price_slices', models.JSONField(blank=True, null=True)), + ('tuition_out_of_state', models.IntegerField(blank=True, null=True)), + ('tuition_in_state', models.IntegerField(blank=True, null=True)), + ('offers_perkins', models.BooleanField(default=False)), + ('cohort_ranking_by_control', models.JSONField(blank=True, null=True)), + ('cohort_ranking_by_highest_degree', models.JSONField(blank=True, null=True)), + ('cohort_ranking_by_state', models.JSONField(blank=True, null=True)), + ('associate_transfer_rate', models.DecimalField(blank=True, decimal_places=3, help_text='Transfer rate for first-time, full-time students at less-than-four-year institutions (150% of expected time to completion)', max_digits=5, null=True)), + ('contact', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='paying_for_college.contact')), + ], + ), + migrations.CreateModel( + name='Notification', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url', models.TextField(blank=True, null=True)), + ('oid', models.CharField(max_length=40)), + ('timestamp', models.DateTimeField()), + ('errors', models.CharField(max_length=255)), + ('emails', models.TextField(blank=True, help_text='COMMA-SEPARATED STRING OF EMAILS')), + ('sent', models.BooleanField(default=False)), + ('log', models.TextField(blank=True)), + ('institution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='paying_for_college.school')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Nickname', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nickname', models.TextField()), + ('is_female', models.BooleanField(default=False)), + ('institution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='paying_for_college.school')), + ], + options={ + 'ordering': ['nickname'], + }, + ), + migrations.CreateModel( + name='Alias', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('alias', models.TextField()), + ('is_primary', models.BooleanField(default=False)), + ('institution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='paying_for_college.school')), + ], + options={ + 'verbose_name_plural': 'Aliases', + }, + ), + migrations.CreateModel( + name='Program', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('program_name', models.CharField(max_length=255)), + ('accreditor', models.CharField(blank=True, max_length=255)), + ('level', models.CharField(blank=True, max_length=255)), + ('program_code', models.CharField(blank=True, max_length=255)), + ('campus', models.CharField(blank=True, max_length=255)), + ('cip_code', models.CharField(blank=True, max_length=255)), + ('soc_codes', models.CharField(blank=True, max_length=255)), + ('total_cost', models.IntegerField(blank=True, help_text='COMPUTED', null=True)), + ('time_to_complete', models.IntegerField(blank=True, help_text='IN MONTHS', null=True)), + ('completion_rate', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)), + ('completion_cohort', models.IntegerField(blank=True, help_text='COMPLETION COHORT', null=True)), + ('completers', models.IntegerField(blank=True, help_text='COMPLETERS OF THE PROGRAM', null=True)), + ('titleiv_debt', models.IntegerField(blank=True, null=True)), + ('private_debt', models.IntegerField(blank=True, null=True)), + ('institutional_debt', models.IntegerField(blank=True, null=True)), + ('mean_student_loan_completers', models.IntegerField(blank=True, help_text='TITLEIV_DEBT + PRIVATE_DEBT + INSTITUTIONAL_DEBT', null=True)), + ('median_student_loan_completers', models.IntegerField(blank=True, help_text='TITLEIV_DEBT + PRIVATE_DEBT + INSTITUTIONAL_DEBT', null=True)), + ('default_rate', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)), + ('salary', models.IntegerField(blank=True, help_text='MEDIAN SALARY', null=True)), + ('program_length', models.IntegerField(blank=True, help_text='IN MONTHS', null=True)), + ('tuition', models.IntegerField(blank=True, null=True)), + ('fees', models.IntegerField(blank=True, null=True)), + ('housing', models.IntegerField(blank=True, help_text='HOUSING & MEALS', null=True)), + ('books', models.IntegerField(blank=True, help_text='BOOKS & SUPPLIES', null=True)), + ('transportation', models.IntegerField(blank=True, null=True)), + ('other_costs', models.IntegerField(blank=True, null=True)), + ('job_rate', models.DecimalField(blank=True, decimal_places=2, help_text='COMPLETERS WHO GET RELATED JOB', max_digits=5, null=True)), + ('job_note', models.TextField(blank=True, help_text='EXPLANATION FROM SCHOOL')), + ('test', models.BooleanField(default=False)), + ('institution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='paying_for_college.school')), + ('level_name', models.CharField(blank=True, max_length=255, null=True)), + ('median_monthly_debt', models.IntegerField(blank=True, help_text='MEDIAN MONTHLY PAYMENT FOR A 10-YEAR LOAN', null=True)), + ], + ), + migrations.CreateModel( + name='CollegeCostsPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))])), ('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block'))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='RepayingStudentDebtPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block'))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + ] diff --git a/cfgov/paying_for_college/migrations/0019_remove_content_image_bleed_option.py b/cfgov/paying_for_college/migrations/0019_remove_content_image_bleed_option.py deleted file mode 100644 index d19cb467050..00000000000 --- a/cfgov/paying_for_college/migrations/0019_remove_content_image_bleed_option.py +++ /dev/null @@ -1,2590 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-03 22:08 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ( - "paying_for_college", - "0001_squashed_0018_add_use_json_field_to_streamfields", - ), - ] - - operations = [ - migrations.AlterField( - model_name="collegecostspage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/paying_for_college/migrations/0020_new_table_block.py b/cfgov/paying_for_college/migrations/0020_new_table_block.py deleted file mode 100644 index 45fbd49ca38..00000000000 --- a/cfgov/paying_for_college/migrations/0020_new_table_block.py +++ /dev/null @@ -1,2778 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("paying_for_college", "0019_remove_content_image_bleed_option"), - ] - - operations = [ - migrations.AlterField( - model_name="collegecostspage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="repayingstudentdebtpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/regulations3k/migrations/0001_squashed_0036_add_use_json_field_to_streamfields.py b/cfgov/regulations3k/migrations/0001_squashed_0036_add_use_json_field_to_streamfields.py deleted file mode 100644 index ebc76abadf0..00000000000 --- a/cfgov/regulations3k/migrations/0001_squashed_0036_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,3408 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-04 15:09 - -import datetime -import re - -import django.core.validators -import django.db.models.deletion -from django.db import migrations, models - -import wagtail.blocks -import wagtail.contrib.routable_page.models -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - replaces = [ - ("regulations3k", "0029_recreated"), - ("regulations3k", "0030_recreated2"), - ("regulations3k", "0031_2022_squash"), - ("regulations3k", "0032_remove_well_with_ask_search"), - ("regulations3k", "0033_emailsignup_snippet"), - ("regulations3k", "0034_convert_email_signups_blocks_to_snippets"), - ("regulations3k", "0035_heading_block_h5s"), - ("regulations3k", "0036_add_use_json_field_to_streamfields"), - ] - - initial = True - - dependencies = [ - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ] - - operations = [ - migrations.CreateModel( - name="EffectiveVersion", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("authority", models.CharField(blank=True, max_length=255)), - ("source", models.CharField(blank=True, max_length=255)), - ( - "effective_date", - models.DateField(default=datetime.date.today), - ), - ("created", models.DateField(default=datetime.date.today)), - ("draft", models.BooleanField(default=False)), - ], - options={ - "ordering": ["effective_date"], - "default_related_name": "version", - }, - ), - migrations.CreateModel( - name="Part", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("cfr_title_number", models.CharField(max_length=255)), - ("chapter", models.CharField(max_length=255)), - ("part_number", models.CharField(max_length=255)), - ("title", models.CharField(max_length=255)), - ("short_name", models.CharField(blank=True, max_length=255)), - ], - options={ - "ordering": ["part_number"], - }, - ), - migrations.CreateModel( - name="RegulationsSearchPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=( - wagtail.contrib.routable_page.models.RoutablePageMixin, - "v1.cfgovpage", - ), - ), - migrations.CreateModel( - name="Section", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("label", models.CharField(blank=True, max_length=255)), - ("title", models.CharField(blank=True, max_length=255)), - ("contents", models.TextField(blank=True)), - ("sortable_label", models.CharField(max_length=255)), - ], - options={ - "ordering": ["sortable_label"], - }, - ), - migrations.CreateModel( - name="SectionParagraph", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("paragraph", models.TextField(blank=True)), - ("paragraph_id", models.CharField(blank=True, max_length=255)), - ( - "section", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="paragraphs", - to="regulations3k.section", - ), - ), - ], - ), - migrations.CreateModel( - name="Subpart", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "label", - models.CharField( - help_text="Labels must be unique within this regulation version and always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.", - max_length=255, - validators=[ - django.core.validators.RegexValidator( - re.compile("^[\\w]+[-\\w]*$"), - "Enter a valid “label” consisting of letters, numbers, hyphens, and no spaces.", - "invalid", - ) - ], - ), - ), - ("title", models.CharField(blank=True, max_length=255)), - ( - "subpart_type", - models.IntegerField( - choices=[ - (0, "Regulation Body"), - (1000, "Appendix"), - (2000, "Interpretation"), - ], - default=0, - ), - ), - ( - "version", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="subparts", - to="regulations3k.effectiveversion", - ), - ), - ], - options={ - "ordering": ["subpart_type", "label"], - }, - ), - migrations.AddField( - model_name="section", - name="subpart", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="sections", - to="regulations3k.subpart", - ), - ), - migrations.AddField( - model_name="effectiveversion", - name="part", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="versions", - to="regulations3k.part", - ), - ), - migrations.AlterField( - model_name="section", - name="label", - field=models.CharField( - help_text="Labels always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.", - max_length=255, - validators=[ - django.core.validators.RegexValidator( - re.compile("^[\\w]+[-\\w]*$"), - "Enter a valid “label” consisting of letters, numbers, and hyphens.", - "invalid", - ) - ], - ), - ), - migrations.AlterField( - model_name="section", - name="label", - field=models.CharField( - help_text="Labels always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.", - max_length=255, - validators=[ - django.core.validators.RegexValidator( - re.compile("^[\\w]+[-\\w]*$"), - "Enter a valid “label” consisting of letters, numbers, hyphens, and no spaces.", - "invalid", - ) - ], - ), - ), - migrations.CreateModel( - name="RegulationLandingPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "regulations_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Regulations list heading", - required=False, - ), - ), - ( - "more_regs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to more regulations" - ), - ), - ( - "more_regs_text", - wagtail.blocks.CharBlock( - help_text="Text to show on link to more regulations", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=( - wagtail.contrib.routable_page.models.RoutablePageMixin, - "v1.cfgovpage", - ), - ), - migrations.CreateModel( - name="RegulationPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - blank=True, - null=True, - use_json_field=None, - ), - ), - ( - "secondary_nav_exclude_sibling_pages", - models.BooleanField(default=False), - ), - ( - "regulation", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="page", - to="regulations3k.part", - ), - ), - ], - options={ - "abstract": False, - }, - bases=( - wagtail.contrib.routable_page.models.RoutablePageMixin, - "v1.cfgovpage", - ), - ), - migrations.AlterField( - model_name="regulationlandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "regulations_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Regulations list heading", - required=False, - ), - ), - ( - "more_regs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to more regulations" - ), - ), - ( - "more_regs_text", - wagtail.blocks.CharBlock( - help_text="Text to show on link to more regulations", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="regulationpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - blank=True, - null=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="regulationlandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "regulations_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Regulations list heading", - required=False, - ), - ), - ( - "more_regs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to more regulations" - ), - ), - ( - "more_regs_text", - wagtail.blocks.CharBlock( - help_text="Text to show on link to more regulations", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="regulationlandingpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="regulationpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - blank=True, - null=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="regulationpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/regulations3k/migrations/0001_squashed_0038_new_table_block.py b/cfgov/regulations3k/migrations/0001_squashed_0038_new_table_block.py new file mode 100644 index 00000000000..c20f1e73fae --- /dev/null +++ b/cfgov/regulations3k/migrations/0001_squashed_0038_new_table_block.py @@ -0,0 +1,144 @@ +# Generated by Django 3.2.20 on 2023-08-02 21:12 + +import datetime +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import re +import v1.blocks +import wagtail.blocks +import wagtail.contrib.routable_page.models +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('v1', '0001_squashed_0254_delete_campaignpage'), + ] + + operations = [ + migrations.CreateModel( + name='EffectiveVersion', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('authority', models.CharField(blank=True, max_length=255)), + ('source', models.CharField(blank=True, max_length=255)), + ('effective_date', models.DateField(default=datetime.date.today)), + ('created', models.DateField(default=datetime.date.today)), + ('draft', models.BooleanField(default=False)), + ], + options={ + 'ordering': ['effective_date'], + 'default_related_name': 'version', + }, + ), + migrations.CreateModel( + name='Part', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('cfr_title_number', models.CharField(max_length=255)), + ('chapter', models.CharField(max_length=255)), + ('part_number', models.CharField(max_length=255)), + ('title', models.CharField(max_length=255)), + ('short_name', models.CharField(blank=True, max_length=255)), + ], + options={ + 'ordering': ['part_number'], + }, + ), + migrations.CreateModel( + name='RegulationsSearchPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'v1.cfgovpage'), + ), + migrations.CreateModel( + name='Section', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.CharField(blank=True, max_length=255)), + ('title', models.CharField(blank=True, max_length=255)), + ('contents', models.TextField(blank=True)), + ('sortable_label', models.CharField(max_length=255)), + ], + options={ + 'ordering': ['sortable_label'], + }, + ), + migrations.CreateModel( + name='SectionParagraph', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('paragraph', models.TextField(blank=True)), + ('paragraph_id', models.CharField(blank=True, max_length=255)), + ('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='paragraphs', to='regulations3k.section')), + ], + ), + migrations.CreateModel( + name='Subpart', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.CharField(help_text='Labels must be unique within this regulation version and always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.', max_length=255, validators=[django.core.validators.RegexValidator(re.compile('^[\\w]+[-\\w]*$'), 'Enter a valid “label” consisting of letters, numbers, hyphens, and no spaces.', 'invalid')])), + ('title', models.CharField(blank=True, max_length=255)), + ('subpart_type', models.IntegerField(choices=[(0, 'Regulation Body'), (1000, 'Appendix'), (2000, 'Interpretation')], default=0)), + ('version', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subparts', to='regulations3k.effectiveversion')), + ], + options={ + 'ordering': ['subpart_type', 'label'], + }, + ), + migrations.AddField( + model_name='section', + name='subpart', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sections', to='regulations3k.subpart'), + ), + migrations.AddField( + model_name='effectiveversion', + name='part', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='regulations3k.part'), + ), + migrations.AlterField( + model_name='section', + name='label', + field=models.CharField(help_text='Labels always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.', max_length=255, validators=[django.core.validators.RegexValidator(re.compile('^[\\w]+[-\\w]*$'), 'Enter a valid “label” consisting of letters, numbers, and hyphens.', 'invalid')]), + ), + migrations.AlterField( + model_name='section', + name='label', + field=models.CharField(help_text='Labels always require at least 1 alphanumeric character, then any number of alphanumeric characters and hyphens, with no spaces.', max_length=255, validators=[django.core.validators.RegexValidator(re.compile('^[\\w]+[-\\w]*$'), 'Enter a valid “label” consisting of letters, numbers, hyphens, and no spaces.', 'invalid')]), + ), + migrations.CreateModel( + name='RegulationLandingPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('regulations_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Regulations list heading', required=False)), ('more_regs_page', wagtail.blocks.PageChooserBlock(help_text='Link to more regulations')), ('more_regs_text', wagtail.blocks.CharBlock(help_text='Text to show on link to more regulations', required=False))]))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'v1.cfgovpage'), + ), + migrations.CreateModel( + name='RegulationPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))]))], blank=True, null=True, use_json_field=True)), + ('secondary_nav_exclude_sibling_pages', models.BooleanField(default=False)), + ('regulation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='page', to='regulations3k.part')), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'v1.cfgovpage'), + ), + ] diff --git a/cfgov/regulations3k/migrations/0037_remove_content_image_bleed_option.py b/cfgov/regulations3k/migrations/0037_remove_content_image_bleed_option.py deleted file mode 100644 index 598f1b90ad1..00000000000 --- a/cfgov/regulations3k/migrations/0037_remove_content_image_bleed_option.py +++ /dev/null @@ -1,940 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-03 22:08 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.atomic_elements.tables -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ( - "regulations3k", - "0001_squashed_0036_add_use_json_field_to_streamfields", - ), - ] - - operations = [ - migrations.AlterField( - model_name="regulationlandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "regulations_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Regulations list heading", - required=False, - ), - ), - ( - "more_regs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to more regulations" - ), - ), - ( - "more_regs_text", - wagtail.blocks.CharBlock( - help_text="Text to show on link to more regulations", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="regulationpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - blank=True, - null=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/regulations3k/migrations/0038_new_table_block.py b/cfgov/regulations3k/migrations/0038_new_table_block.py deleted file mode 100644 index da45c616e31..00000000000 --- a/cfgov/regulations3k/migrations/0038_new_table_block.py +++ /dev/null @@ -1,1128 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("regulations3k", "0037_remove_content_image_bleed_option"), - ] - - operations = [ - migrations.AlterField( - model_name="regulationlandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "regulations_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Regulations list heading", - required=False, - ), - ), - ( - "more_regs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to more regulations" - ), - ), - ( - "more_regs_text", - wagtail.blocks.CharBlock( - help_text="Text to show on link to more regulations", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="regulationpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ], - blank=True, - null=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/teachers_digital_platform/migrations/0001_squashed_0005_add_use_json_field_to_streamfields.py b/cfgov/teachers_digital_platform/migrations/0001_squashed_0005_add_use_json_field_to_streamfields.py index 053d282a0e1..c1fbbc768e9 100644 --- a/cfgov/teachers_digital_platform/migrations/0001_squashed_0005_add_use_json_field_to_streamfields.py +++ b/cfgov/teachers_digital_platform/migrations/0001_squashed_0005_add_use_json_field_to_streamfields.py @@ -15,14 +15,11 @@ class Migration(migrations.Migration): - - replaces = [('teachers_digital_platform', '0001_2022_squash'), ('teachers_digital_platform', '0002_alter_activitytopic_tree_id'), ('teachers_digital_platform', '0003_tdp_taxonomy_updates'), ('teachers_digital_platform', '0004_activitypage_search_tags'), ('teachers_digital_platform', '0005_add_use_json_field_to_streamfields')] - initial = True dependencies = [ ('wagtaildocs', '0010_document_file_hash'), - ('v1', '0001_squashed_0235_add_use_json_field_to_streamfields'), + ('v1', '0001_squashed_0254_delete_campaignpage'), ('wagtaildocs', '0007_merge'), ('wagtailimages', '0019_delete_filter'), ] diff --git a/cfgov/v1/migrations/0001_squashed_0235_add_use_json_field_to_streamfields.py b/cfgov/v1/migrations/0001_squashed_0235_add_use_json_field_to_streamfields.py deleted file mode 100644 index 7d770db4264..00000000000 --- a/cfgov/v1/migrations/0001_squashed_0235_add_use_json_field_to_streamfields.py +++ /dev/null @@ -1,83935 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-08 14:32 - -import datetime - -import django.core.validators -import django.db.migrations.operations.special -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks -import wagtail.images.models -import wagtail.models.collections -import wagtail.search.index -import wagtail.snippets.blocks - -import localflavor.us.models -import modelcluster.contrib.taggit -import modelcluster.fields -import taggit.managers -import wagtailmedia.blocks - -import jobmanager.blocks -import v1.atomic_elements.molecules -import v1.atomic_elements.tables -import v1.blocks -import v1.models.snippets -import v1.util.ref - - -class Migration(migrations.Migration): - replaces = [ - ("v1", "0198_recreated"), - ("v1", "0199_2022_squash"), - ("v1", "0200_related_posts_tag_filtering"), - ("v1", "0201_remove_well_with_ask_search"), - ("v1", "0202_add_research_hub_filterable_page"), - ("v1", "0203_add_projected_months_simple_chart"), - ("v1", "0204_simple_chart_layout"), - ("v1", "0205_simple_chart_default_series"), - ("v1", "0206_add_faq_group_and_expandable_option"), - ("v1", "0207_deprecate_feedback_block"), - ("v1", "0208_deprecate_page_archiving"), - ("v1", "0209_delete_conferenceregistration"), - ("v1", "0210_expandable_info_units"), - ("v1", "0211_simple_chart_text_update"), - ("v1", "0212_emailsignup_snippet"), - ("v1", "0213_convert_email_signups_blocks_in_pages_to_snippets"), - ( - "v1", - "0214_convert_email_signups_blocks_in_streamfields_to_snippets", - ), - ("v1", "0215_delete_feedback"), - ("v1", "0216_heading_block_h5s"), - ("v1", "0217_add_simple_chart"), - ("v1", "0218_alter_legacyblogpage_content"), - ("v1", "0219_rename_policy_compliance_category"), - ("v1", "0220_migrate_policy_compliance_category_names"), - ("v1", "0221_update_how_to_schema"), - ("v1", "0222_alter_cfgovpagecategory_name"), - ("v1", "0223_deprecate_zh_hans"), - ("v1", "0224_cfgovpage_translations"), - ("v1", "0225_alter_cfgovpagecategory_name"), - ("v1", "0226_prepare_login_models_to_move"), - ("v1", "0227_remove_login_models"), - ("v1", "0228_simplify_expandables"), - ("v1", "0229_contact_us_table"), - ("v1", "0230_rename_chinese"), - ("v1", "0231_secondary_navigation"), - ("v1", "0232_remove_indexed_page_revision"), - ("v1", "0233_crc_tables"), - ("v1", "0234_clean_orphaned_revisions"), - ("v1", "0235_add_use_json_field_to_streamfields"), - ] - - initial = True - - dependencies = [ - ("contenttypes", "__first__"), - ("wagtailimages", "0019_delete_filter"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("wagtailcore", "0067_alter_pagerevision_content_json"), - ( - "wagtailcore", - "0041_group_collection_permissions_verbose_name_plural", - ), - ("wagtailcore", "0040_page_draft_title"), - ("taggit", "0002_auto_20150616_2121"), - ("wagtaildocs", "0007_merge"), - ("login", "0001_squashed_0003_simplify_password_logic"), - ("wagtailcore", "0066_collection_management_permissions"), - ] - - operations = [ - migrations.CreateModel( - name="CDNHistory", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created", models.DateTimeField(auto_now_add=True)), - ("subject", models.CharField(max_length=2083)), - ("message", models.CharField(max_length=255)), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="CFGOVAuthoredPages", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ], - options={ - "verbose_name": "Author", - "verbose_name_plural": "Authors", - }, - ), - migrations.CreateModel( - name="CFGOVImage", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "title", - models.CharField(max_length=255, verbose_name="title"), - ), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_upload_to, - verbose_name="file", - width_field="width", - ), - ), - ( - "width", - models.IntegerField(editable=False, verbose_name="width"), - ), - ( - "height", - models.IntegerField(editable=False, verbose_name="height"), - ), - ( - "created_at", - models.DateTimeField( - auto_now_add=True, - db_index=True, - verbose_name="created at", - ), - ), - ( - "focal_point_x", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "focal_point_y", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "focal_point_width", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "focal_point_height", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "file_size", - models.PositiveIntegerField(editable=False, null=True), - ), - ( - "alt", - models.TextField( - blank=True, - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - ), - ), - ( - "collection", - models.ForeignKey( - default=wagtail.models.collections.get_root_collection_id, - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="wagtailcore.collection", - verbose_name="collection", - ), - ), - ( - "tags", - taggit.managers.TaggableManager( - blank=True, - help_text=None, - through="taggit.TaggedItem", - to="taggit.Tag", - verbose_name="tags", - ), - ), - ( - "uploaded_by_user", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - verbose_name="uploaded by user", - ), - ), - ( - "file_hash", - models.CharField( - blank=True, editable=False, max_length=40 - ), - ), - ], - options={ - "abstract": False, - }, - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.CreateModel( - name="CFGOVPage", - 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", - ), - ), - ( - "language", - models.CharField( - choices=[ - ("en", "English"), - ("es", "Spanish"), - ("zh", "Chinese"), - ("vi", "Vietnamese"), - ("ko", "Korean"), - ("tl", "Tagalog"), - ("ru", "Russian"), - ("ar", "Arabic"), - ("ht", "Haitian Creole"), - ], - default="en", - max_length=2, - ), - ), - ( - "sidefoot", - wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Op-Ed", - "Op-ed", - ), - ( - "Press Release", - "Press release", - ), - ( - "Speech", - "Speech", - ), - ( - "Testimony", - "Testimony", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Categories", - max_length=100, - ), - ), - ( - "show_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="list-ul", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", - required=False, - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "rss_feed", - v1.atomic_elements.molecules.RSSFeed(), - ), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "authors", - modelcluster.contrib.taggit.ClusterTaggableManager( - blank=True, - help_text="A comma separated list of authors.", - through="v1.CFGOVAuthoredPages", - to="taggit.Tag", - verbose_name="Authors", - ), - ), - ( - "social_sharing_image", - models.ForeignKey( - blank=True, - help_text="Optionally select a custom image to appear when users share this page on social media websites. Recommended size: 1200w x 630h. Maximum size: 4096w x 4096h.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - ], - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="Contact", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "heading", - models.CharField( - help_text="The snippet heading", - max_length=255, - verbose_name="Heading", - ), - ), - ("body", wagtail.fields.RichTextField(blank=True)), - ( - "contact_info", - wagtail.fields.StreamField( - [ - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, required=False - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, required=False - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, required=False - ), - ), - ] - ), - ), - ( - "hyperlink", - wagtail.blocks.StructBlock( - [ - ("url", wagtail.blocks.URLBlock()), - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "body_shown_in_expandables", - models.BooleanField(default=False), - ), - ], - options={ - "ordering": ["heading"], - }, - ), - migrations.CreateModel( - name="Feedback", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("submitted_on", models.DateTimeField(auto_now_add=True)), - ("comment", models.TextField(blank=True, null=True)), - ( - "language", - models.CharField(blank=True, max_length=8, null=True), - ), - ( - "referrer", - models.CharField(blank=True, max_length=255, null=True), - ), - ("is_helpful", models.BooleanField(blank=True, null=True)), - ( - "expect_to_buy", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "currently_own", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "email", - models.EmailField(blank=True, max_length=250, null=True), - ), - ( - "page", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="feedback", - to="wagtailcore.page", - ), - ), - ], - options={ - "permissions": ( - ( - "export_feedback", - "Can export feedback from the Wagtail admin", - ), - ), - }, - ), - migrations.CreateModel( - name="PortalCategory", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("heading", models.CharField(blank=True, max_length=255)), - ("heading_es", models.CharField(blank=True, max_length=255)), - ( - "display_order", - models.IntegerField( - default=0, - help_text="Controls sequence of categories in sidebar navigation.", - ), - ), - ], - options={ - "verbose_name_plural": "portal categories", - "ordering": ["display_order"], - }, - ), - migrations.CreateModel( - name="PortalCategoryTag", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "content_object", - modelcluster.fields.ParentalKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="tagged_portal_category", - to="v1.portalcategory", - ), - ), - ( - "tag", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="v1_portalcategorytag_items", - to="taggit.tag", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="PortalTopic", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("heading", models.CharField(blank=True, max_length=255)), - ("heading_es", models.CharField(blank=True, max_length=255)), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="PortalTopicTag", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "content_object", - modelcluster.fields.ParentalKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="tagged_portal_topic", - to="v1.portaltopic", - ), - ), - ( - "tag", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="v1_portaltopictag_items", - to="taggit.tag", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="RelatedResource", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255)), - ( - "title_es", - models.CharField(blank=True, max_length=255, null=True), - ), - ("text", wagtail.fields.RichTextField(blank=True, null=True)), - ( - "text_es", - wagtail.fields.RichTextField(blank=True, null=True), - ), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.CreateModel( - name="Resource", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255)), - ( - "desc", - wagtail.fields.RichTextField( - blank=True, verbose_name="Description" - ), - ), - ( - "link", - models.URLField( - blank=True, - help_text="Example: URL to order a few copies of a printed piece.", - validators=[django.core.validators.URLValidator], - ), - ), - ( - "alternate_link", - models.URLField( - blank=True, - help_text="Example: a URL to for ordering bulk copies.", - validators=[django.core.validators.URLValidator], - ), - ), - ( - "order", - models.PositiveSmallIntegerField( - blank=True, - help_text="Resources will be listed alphabetically by title in a Resource List module, unless any in the list have a number in this field; those with an order value will appear in ascending order.", - null=True, - ), - ), - ( - "alternate_file", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="wagtaildocs.document", - ), - ), - ( - "related_file", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="wagtaildocs.document", - ), - ), - ], - options={ - "ordering": ("order", "title"), - }, - ), - migrations.CreateModel( - name="ResourceTag", - 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="tagged_items", - to="v1.resource", - ), - ), - ( - "tag", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="v1_resourcetag_items", - to="taggit.tag", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.CreateModel( - name="ReusableText", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "title", - models.CharField( - max_length=255, - verbose_name="Snippet title (internal only)", - ), - ), - ( - "sidefoot_heading", - models.CharField( - blank=True, - help_text='Applies "slug" style heading. Only for use in sidebars and prefooters (the "sidefoot"). See [GHE]/flapjack/Modules-V1/wiki/Atoms#slugs', - max_length=255, - ), - ), - ("text", wagtail.fields.RichTextField()), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.CreateModel( - name="AbstractFilterPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "article_subheader", - wagtail.blocks.RichTextBlock(icon="form"), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "item_introduction", - wagtail.blocks.StructBlock( - [ - ( - "show_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Whether to show the category or not (category must be set in 'Configuration').", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "date", - wagtail.blocks.DateBlock( - required=False - ), - ), - ( - "has_social", - wagtail.blocks.BooleanBlock( - help_text="Whether to show the share icons or not.", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "preview_title", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "preview_subheading", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "preview_description", - wagtail.fields.RichTextField(blank=True, null=True), - ), - ( - "secondary_link_url", - models.CharField(blank=True, max_length=500, null=True), - ), - ( - "secondary_link_text", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "date_published", - models.DateField(default=datetime.date.today), - ), - ("date_filed", models.DateField(blank=True, null=True)), - ("comments_close_by", models.DateField(blank=True, null=True)), - ( - "preview_image", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="BrowseFilterablePage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=None, - ), - ), - ( - "secondary_nav_exclude_sibling_pages", - models.BooleanField(default=False), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="HomePage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="LandingPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="SublandingFilterablePage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.AddField( - model_name="resource", - name="tags", - field=taggit.managers.TaggableManager( - blank=True, - help_text="Tags can be used to filter resources in a Resource List.", - through="v1.ResourceTag", - to="taggit.Tag", - verbose_name="Tags", - ), - ), - migrations.AddField( - model_name="resource", - name="thumbnail", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - migrations.AddField( - model_name="portaltopic", - name="tags", - field=taggit.managers.TaggableManager( - blank=True, - help_text="Tags are used to identify and organize portal topic pages.", - through="v1.PortalTopicTag", - to="taggit.Tag", - verbose_name="Tags", - ), - ), - migrations.AddField( - model_name="portalcategory", - name="tags", - field=taggit.managers.TaggableManager( - blank=True, - help_text="Tags are used to identify and organize portal see-all pages.", - through="v1.PortalCategoryTag", - to="taggit.Tag", - verbose_name="Tags", - ), - ), - migrations.CreateModel( - name="CFGOVTaggedPages", - 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, - to="v1.cfgovpage", - ), - ), - ( - "tag", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="v1_cfgovtaggedpages_items", - to="taggit.tag", - ), - ), - ], - options={ - "verbose_name": "Tag", - "verbose_name_plural": "Tags", - }, - ), - migrations.AddField( - model_name="cfgovpage", - name="tags", - field=modelcluster.contrib.taggit.ClusterTaggableManager( - blank=True, - help_text="A comma-separated list of tags.", - related_name="tagged_pages", - through="v1.CFGOVTaggedPages", - to="taggit.Tag", - verbose_name="Tags", - ), - ), - migrations.AddField( - model_name="cfgovauthoredpages", - name="content_object", - field=modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, to="v1.cfgovpage" - ), - ), - migrations.AddField( - model_name="cfgovauthoredpages", - name="tag", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="v1_cfgovauthoredpages_items", - to="taggit.tag", - ), - ), - migrations.CreateModel( - name="ActivityLogPage", - fields=[ - ( - "sublandingfilterablepage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.sublandingfilterablepage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.sublandingfilterablepage",), - ), - migrations.CreateModel( - name="BlogPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - ), - ), - ], - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="EventArchivePage", - fields=[ - ( - "browsefilterablepage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.browsefilterablepage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.browsefilterablepage",), - ), - migrations.CreateModel( - name="EventPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "body", - wagtail.fields.RichTextField( - blank=True, verbose_name="Subheading" - ), - ), - ("archive_body", wagtail.fields.RichTextField(blank=True)), - ("live_body", wagtail.fields.RichTextField(blank=True)), - ( - "persistent_body", - wagtail.fields.StreamField( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ("start_dt", models.DateTimeField(verbose_name="Start")), - ( - "end_dt", - models.DateTimeField( - blank=True, null=True, verbose_name="End" - ), - ), - ("future_body", wagtail.fields.RichTextField(blank=True)), - ( - "flickr_url", - models.URLField(blank=True, verbose_name="Flickr URL"), - ), - ( - "live_stream_availability", - models.BooleanField( - blank=True, - default=False, - help_text="Check if this event will be streamed live. This causes the event page to show the parts necessary for live streaming.", - verbose_name="Streaming?", - ), - ), - ( - "live_stream_date", - models.DateTimeField( - blank=True, - help_text="Enter the date and time that the page should switch from showing the venue image to showing the live video feed. This is typically 15 minutes prior to the event start time.", - null=True, - verbose_name="Go Live Date", - ), - ), - ("venue_coords", models.CharField(blank=True, max_length=100)), - ("venue_name", models.CharField(blank=True, max_length=100)), - ("venue_street", models.CharField(blank=True, max_length=100)), - ("venue_suite", models.CharField(blank=True, max_length=100)), - ("venue_city", models.CharField(blank=True, max_length=100)), - ( - "venue_state", - localflavor.us.models.USStateField( - blank=True, max_length=2 - ), - ), - ("venue_zipcode", models.CharField(blank=True, max_length=12)), - ( - "venue_image_type", - models.CharField( - choices=[ - ("map", "Map"), - ("image", "Image (selected below)"), - ("none", "No map or image"), - ], - default="map", - help_text='If "Image" is chosen here, you must select the image you want below. It should be sized to 1416x796.', - max_length=8, - ), - ), - ( - "post_event_image_type", - models.CharField( - choices=[ - ("placeholder", "Placeholder image"), - ("image", "Unique image (selected below)"), - ], - default="placeholder", - help_text='Choose what to display after an event concludes. This will be overridden by embedded video if the "YouTube video ID (archive)" field on the previous tab is populated. If "Unique image" is chosen here, you must select the image you want below. It should be sized to 1416x796.', - max_length=16, - verbose_name="Post-event image type", - ), - ), - ( - "agenda_items", - wagtail.fields.StreamField( - [ - ( - "item", - wagtail.blocks.StructBlock( - [ - ( - "start_time", - wagtail.blocks.TimeBlock( - label="Start", required=False - ), - ), - ( - "end_time", - wagtail.blocks.TimeBlock( - label="End", required=False - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - max_length=100, required=False - ), - ), - ( - "location", - wagtail.blocks.CharBlock( - max_length=100, required=False - ), - ), - ( - "speakers", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "name", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.URLBlock( - required=False - ), - ), - ], - icon="user", - required=False, - ) - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ( - "archive_image", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="wagtailimages.image", - ), - ), - ( - "post_event_image", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - ( - "speech_transcript", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="wagtaildocs.document", - ), - ), - ( - "venue_image", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="v1.cfgovimage", - ), - ), - ( - "video_transcript", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="+", - to="wagtaildocs.document", - ), - ), - ( - "archive_video_id", - models.CharField( - blank=True, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - max_length=11, - null=True, - validators=[ - django.core.validators.RegexValidator( - regex="^[\\w-]{11}$" - ) - ], - verbose_name="YouTube video ID (archive)", - ), - ), - ( - "live_video_id", - models.CharField( - blank=True, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - max_length=11, - null=True, - validators=[ - django.core.validators.RegexValidator( - regex="^[\\w-]{11}$" - ) - ], - verbose_name="YouTube video ID (live)", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="LegacyBlogPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ], - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="NewsroomLandingPage", - fields=[ - ( - "browsefilterablepage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.browsefilterablepage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.browsefilterablepage",), - ), - migrations.CreateModel( - name="LegacyNewsroomPage", - fields=[ - ( - "legacyblogpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.legacyblogpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.legacyblogpage",), - ), - migrations.CreateModel( - name="NewsroomPage", - fields=[ - ( - "blogpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.blogpage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.blogpage",), - ), - migrations.CreateModel( - name="EnforcementActionPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "court", - models.CharField(blank=True, default="", max_length=150), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "initial_filing_date", - models.DateField(blank=True, null=True), - ), - ( - "public_enforcement_action", - models.CharField(blank=True, max_length=150), - ), - ( - "settled_or_contested_at_filing", - models.CharField( - blank=True, - choices=[ - ("Settled", "Settled"), - ("Contested", "Contested"), - ], - max_length=10, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="EnforcementActionStatus", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "status", - models.CharField( - choices=[ - ( - "expired-terminated-dismissed", - "Expired/Terminated/Dismissed", - ), - ("pending-litigation", "Pending Litigation"), - ( - "post-order-post-judgment", - "Post Order/Post Judgment", - ), - ], - max_length=50, - ), - ), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="statuses", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionDocket", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("docket_number", models.CharField(max_length=50)), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="docket_numbers", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionsFilterPage", - fields=[ - ( - "browsefilterablepage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.browsefilterablepage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.browsefilterablepage",), - ), - migrations.CreateModel( - name="Banner", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "title", - models.CharField( - help_text="For internal reference only; does not appear on the site.", - max_length=255, - ), - ), - ( - "url_pattern", - models.CharField( - help_text="A regular expression pattern for matching URLs that should show the banner, for example: contact-us|^/complaint/$", - max_length=1000, - validators=[ - django.core.validators.RegexValidator( - regex="[A-Za-z0-9\\-_.:/?&|\\^$]" - ) - ], - verbose_name="URL patterns", - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "content", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ) - ], - use_json_field=None, - ), - ), - ("enabled", models.BooleanField()), - ], - ), - migrations.CreateModel( - name="CampaignPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "info_units", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.AddField( - model_name="cfgovpage", - name="schema_json", - field=models.JSONField( - blank=True, - help_text='Enter structured data for this page in JSON-LD format, for use by search engines in providing rich search results. Learn more. JSON entered here will be output in the <head> of the page between <script type="application/ld+json"> and </script> tags.', - null=True, - verbose_name="Schema JSON", - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="authors", - field=modelcluster.contrib.taggit.ClusterTaggableManager( - blank=True, - help_text="A comma separated list of authors.", - related_name="authored_pages", - through="v1.CFGOVAuthoredPages", - to="taggit.Tag", - verbose_name="Authors", - ), - ), - migrations.AddField( - model_name="cfgovpage", - name="force_breadcrumbs", - field=models.BooleanField( - blank=True, - default=False, - help_text="Normally breadcrumbs don't appear on pages one or two levels below the homepage. Check this option to force breadcrumbs to appear on all children of this page no matter how many levels below the homepage they are (for example, if you want breadcrumbs to appear on all children of a top-level campaign page).", - verbose_name="Force breadcrumbs on child pages", - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Categories", - max_length=100, - ), - ), - ( - "show_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="list-ul", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.CreateModel( - name="IndexedPageRevision", - fields=[], - options={ - "proxy": True, - "indexes": [], - "constraints": [], - }, - bases=(wagtail.search.index.Indexed, "wagtailcore.pagerevision"), - ), - migrations.CreateModel( - name="EnforcementActionDisposition", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "final_disposition", - models.CharField(blank=True, max_length=150), - ), - ( - "final_order_civil_money_penalty", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ("final_order_date", models.DateField(blank=True, null=True)), - ("dismissal_date", models.DateField(blank=True, null=True)), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="enforcement_dispositions", - to="v1.enforcementactionpage", - ), - ), - ( - "estimated_consumers_entitled_to_relief", - models.CharField(blank=True, max_length=30), - ), - ( - "final_disposition_type", - models.CharField( - blank=True, - choices=[ - ("Final Order", "Final Order"), - ("Dismissal", "Dismissal"), - ], - max_length=15, - ), - ), - ( - "final_order_civil_money_penalty_suspended", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_consumer_redress", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_consumer_redress_suspended", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_disgorgement", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_disgorgement_suspended", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_other_consumer_relief", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ( - "final_order_other_consumer_relief_suspended", - models.DecimalField( - decimal_places=2, default=0, max_digits=13 - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionStatute", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "statute", - models.CharField( - choices=[ - ( - "CFPA Deceptive", - "Consumer Financial Protection Act - Deceptive Acts or Practices", - ), - ( - "CFPA Unfair", - "Consumer Financial Protection Act - Unfair Acts or Practices", - ), - ( - "CFPA Abusive", - "Consumer Financial Protection Act - Abusive Acts or Practices", - ), - ( - "CFPA", - "Consumer Financial Protection Act - Other", - ), - ( - "AMTPA", - "Alternative Mortgage Transaction Parity Act/Regulation D", - ), - ("CLA", "Consumer Leasing Act/Regulation M"), - ("Credit Practice Rules", "Credit Practices Rule"), - ( - "EFTA/Regulation E", - "Electronic Fund Transfer Act/Regulation E", - ), - ( - "ECOA/Regulation B", - "Equal Credit Opportunity Act/Regulation B", - ), - ("FCBA", "Fair Credit Billing Act"), - ( - "FCRA/Regulation V", - "Fair Credit Reporting Act/Regulation V", - ), - ( - "FDCPA", - "Fair Debt Collection Practices Act/Regulation F", - ), - ( - "FDIA", - "Federal Deposit Insurance Act/Regulation I", - ), - ( - "GLBA/Regulation P", - "Gramm-Leach-Bliley Act/Regulation P", - ), - ( - "HMDA", - "Home Mortgage Disclosure Act/Regulation C", - ), - ( - "HOEPA", - "Home Ownership and Equity Protection Act", - ), - ("HOPA", "Home Owners Protection Act"), - ( - "ILSFDA", - "Interstate Land Sales Full Disclosure Act/Regulation J, K, and L", - ), - ("Military Lending Act", "Military Lending Act"), - ( - "Regulation N (MAP Rule)", - "Mortgage Acts and Practices – Advertising Final Rule (Regulation N)", - ), - ( - "Regulation O (MARS Rule)", - "Mortgage Assistance Relief Services Rule (Regulation O)", - ), - ( - "MRAPLA", - "Mortgage Reform and Anti-Predatory Lending Act", - ), - ( - "RESPA", - "Real Estate Settlement Procedures Act/Regulation X", - ), - ( - "SMLA", - "S.A.F.E. Mortgage Licensing Act/Regulation H", - ), - ( - "Telemarketing Sales Rule (TSR)", - "Telemarketing Sales Rule", - ), - ( - "TILA/Regulation Z", - "Truth in Lending Act/Regulation Z", - ), - ( - "TISA/Regulation DD", - "Truth in Savings Act/Regulation DD", - ), - ], - max_length=30, - ), - ), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="statutes", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionProduct", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "product", - models.CharField( - choices=[ - ( - "Auto Finance Origination", - "Auto Finance Origination", - ), - ( - "Auto Finance Servicing", - "Auto Finance Servicing", - ), - ( - "Business Lending (ECOA)", - "Business Lending (ECOA)", - ), - ( - "Consumer Reporting Agencies", - "Consumer Reporting Agencies", - ), - ( - "Consumer Reporting ? User", - "Consumer Reporting - User", - ), - ("Credit Cards", "Credit Cards"), - ("Credit Repair", "Credit Repair"), - ("Debt Collection", "Debt Collection"), - ("Debt Relief", "Debt Relief"), - ("Deposits", "Deposits"), - ("Furnishing", "Furnishing"), - ("Fair Lending", "Fair Lending"), - ("Mortgage Origination", "Mortgage Origination"), - ("Mortgage Servicing", "Mortgage Servicing"), - ("Payments", "Payments"), - ("Prepaid", "Prepaid"), - ("Remittances", "Remittances"), - ( - "Short Term, Small Dollar", - "Short Term, Small Dollar", - ), - ( - "Student Loan Origination", - "Student Loan Origination", - ), - ( - "Student Loan Servicing", - "Student Loan Servicing", - ), - ( - "Other Consumer Lending", - "Other Consumer Lending", - ), - ( - "Other Consumer Products (Not Lending)", - "Other Consumer Product (not lending)", - ), - ], - max_length=50, - ), - ), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="products", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionDefendantType", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "defendant_type", - models.CharField( - blank=True, - choices=[ - ("Non-Bank", "Nonbank"), - ("Bank", "Bank"), - ("Individual", "Individual"), - ], - max_length=15, - ), - ), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="defendant_types", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="EnforcementActionAtRisk", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "at_risk_group", - models.CharField( - choices=[ - ("Fair Lending", "Fair Lending"), - ( - "Limited English Proficiency", - "Limited English Proficiency", - ), - ("Older Americans", "Older Americans"), - ("Servicemembers", "Servicemembers"), - ("Students", "Students"), - ], - max_length=30, - ), - ), - ( - "action", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="at_risk_groups", - to="v1.enforcementactionpage", - ), - ), - ], - ), - migrations.CreateModel( - name="StoryPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.AlterField( - model_name="cfgovpage", - name="language", - field=models.CharField( - choices=[ - ("en", "English"), - ("es", "Spanish"), - ("zh", "Chinese"), - ("vi", "Vietnamese"), - ("ko", "Korean"), - ("tl", "Tagalog"), - ("ru", "Russian"), - ("ar", "Arabic"), - ("ht", "Haitian Creole"), - ("zh-Hans", "Chinese (Simplified)"), - ], - default="en", - max_length=100, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="language", - field=models.CharField( - choices=[ - ("en", "English"), - ("es", "Spanish"), - ("vi", "Vietnamese"), - ("ko", "Korean"), - ("tl", "Tagalog"), - ("ru", "Russian"), - ("ar", "Arabic"), - ("ht", "Haitian Creole"), - ("zh-Hans", "Chinese (Simplified)"), - ("zh-Hant", "Chinese (Traditional)"), - ], - default="en", - max_length=100, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="language", - field=models.CharField( - choices=[ - ("ar", "Arabic"), - ("zh-Hans", "Chinese (Simplified)"), - ("zh-Hant", "Chinese (Traditional)"), - ("en", "English"), - ("ht", "Haitian Creole"), - ("ko", "Korean"), - ("ru", "Russian"), - ("es", "Spanish"), - ("tl", "Tagalog"), - ("vi", "Vietnamese"), - ], - default="en", - max_length=100, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Categories", - max_length=100, - ), - ), - ( - "show_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="list-ul", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.CreateModel( - name="DocumentDetailPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="LearnPage", - fields=[ - ( - "abstractfilterpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.abstractfilterpage", - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "contact_expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ) - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.abstractfilterpage",), - ), - migrations.CreateModel( - name="BrowsePage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "subtitle", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ( - "tilemap", - "Tile grid map", - ), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock( - label="Raw HTML block" - ), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - required=True - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "bar", - "Bar | % y-axis values", - ), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", - required=True, - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", - required=True, - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ( - "job_listing_table", - jobmanager.blocks.JobListingTable(), - ), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "secondary_nav_exclude_sibling_pages", - models.BooleanField(default=False), - ), - ( - "share_and_print", - models.BooleanField( - default=False, - help_text="Include share and print buttons above page content.", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "and_filtering", - wagtail.blocks.BooleanBlock( - default=False, - help_text="If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.", - label="Match all topic tags", - required=False, - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.CreateModel( - name="CFGOVContentOwner", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "name", - models.CharField( - max_length=100, unique=True, verbose_name="name" - ), - ), - ( - "slug", - models.SlugField( - max_length=100, unique=True, verbose_name="slug" - ), - ), - ], - options={ - "verbose_name": "Content Owner", - "verbose_name_plural": "Content Owners", - }, - ), - migrations.CreateModel( - name="CFGOVOwnedPages", - 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, - to="v1.cfgovpage", - ), - ), - ( - "tag", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="owned_pages", - to="v1.cfgovcontentowner", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.AddField( - model_name="cfgovpage", - name="content_owners", - field=modelcluster.contrib.taggit.ClusterTaggableManager( - blank=True, - help_text="A comma separated list of internal content owners.Use division acronyms only.", - related_name="cfgov_content_owners", - through="v1.CFGOVOwnedPages", - to="v1.CFGOVContentOwner", - verbose_name="Content Owners", - ), - ), - migrations.AlterField( - model_name="cfgovauthoredpages", - name="id", - field=models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - migrations.CreateModel( - name="CFGOVPageCategory", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "name", - models.CharField( - choices=[ - ( - "Administrative adjudication docket", - ( - ( - "administrative-adjudication", - "Administrative adjudication", - ), - ( - "stipulation-and-constent-order", - "Stipulation and consent order", - ), - ), - ), - ( - "Amicus Brief", - ( - ("us-supreme-court", "U.S. Supreme Court"), - ( - "fed-circuit-court", - "Federal Circuit Court", - ), - ( - "fed-district-court", - "Federal District Court", - ), - ("state-court", "State Court"), - ), - ), - ( - "Blog", - ( - ("at-the-cfpb", "At the CFPB"), - ( - "directors-notebook", - "Director's notebook", - ), - ( - "policy_compliance", - "Policy and compliance", - ), - ( - "data-research-reports", - "Data, research, and reports", - ), - ( - "info-for-consumers", - "Info for consumers", - ), - ), - ), - ( - "Consumer Reporting Companies", - ( - ("nationwide", "Nationwide"), - ( - "employment-screening", - "Employment screening", - ), - ("tenant-screening", "Tenant screening"), - ( - "check-bank-screening", - "Check and bank screening", - ), - ( - "personal-property-insurance", - "Personal property insurance", - ), - ("medical", "Medical"), - ( - "low-income-and-subprime", - "Low-income and subprime", - ), - ( - "supplementary-reports", - "Supplementary reports", - ), - ("utilities", "Utilities"), - ("retail", "Retail"), - ("gaming", "Gaming"), - ), - ), - ( - "Enforcement Action", - ( - ( - "administrative-proceeding", - "Administrative Proceeding", - ), - ("civil-action", "Civil Action"), - ), - ), - ( - "Final rule", - ( - ( - "interim-final-rule", - "Interim final rule", - ), - ("final-rule", "Final rule"), - ), - ), - ( - "FOIA Frequently Requested Record", - ( - ("report", "Report"), - ("log", "Log"), - ("record", "Record"), - ), - ), - ( - "Newsroom", - ( - ( - "consumer-advisories", - "Consumer advisories", - ), - ( - "directors-statement", - "Director's statement", - ), - ("op-ed", "Op-ed"), - ("press-release", "Press release"), - ("speech", "Speech"), - ("testimony", "Testimony"), - ), - ), - ( - "Notice and Opportunity for Comment", - ( - ( - "notice-proposed-rule", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule", "Proposed rule"), - ( - "interim-final-rule-2", - "Interim final rule", - ), - ( - "request-comment-info", - "Request for comment or information", - ), - ("proposed-policy", "Proposed policy"), - ( - "intent-preempt-determ", - "Intent to make preemption determination", - ), - ( - "info-collect-activity", - "Information collection activities", - ), - ( - "notice-privacy-act", - "Notice related to Privacy Act", - ), - ), - ), - ( - "Research Hub", - ( - ("data-point", "Data point"), - ( - "industry-markets", - "Industry and markets", - ), - ), - ), - ( - "Research Report", - ( - ( - "consumer-complaint", - "Consumer complaint", - ), - ( - "super-highlight", - "Supervisory Highlights", - ), - ("data-point", "Data point"), - ( - "industry-markets", - "Industry and markets", - ), - ( - "consumer-edu-empower", - "Consumer education and empowerment", - ), - ("to-congress", "To Congress"), - ("data-spotlight", "Data spotlight"), - ), - ), - ( - "Rule Under Development", - ( - ( - "notice-proposed-rule-2", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule-2", "Proposed rule"), - ), - ), - ( - "Story", - ( - ("auto-loans", "Auto loans"), - ( - "bank-accts-services", - "Bank accounts and services", - ), - ("credit-cards", "Credit cards"), - ( - "credit-reports-scores", - "Credit reports and scores", - ), - ("debt-collection", "Debt collection"), - ("money-transfers", "Money transfers"), - ("mortgages", "Mortgages"), - ("payday-loans", "Payday loans"), - ("prepaid-cards", "Prepaid cards"), - ("student-loans", "Student loans"), - ), - ), - ], - max_length=255, - ), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="categories", - to="v1.cfgovpage", - ), - ), - ], - options={ - "ordering": ["name"], - "abstract": False, - }, - ), - migrations.CreateModel( - name="CFGOVRendition", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "filter_spec", - models.CharField(db_index=True, max_length=255), - ), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_rendition_upload_to, - width_field="width", - ), - ), - ("width", models.IntegerField(editable=False)), - ("height", models.IntegerField(editable=False)), - ( - "focal_point_key", - models.CharField( - blank=True, default="", editable=False, max_length=16 - ), - ), - ( - "image", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="renditions", - to="v1.cfgovimage", - ), - ), - ], - options={ - "unique_together": { - ("image", "filter_spec", "focal_point_key") - }, - }, - ), - migrations.AlterField( - model_name="portalcategory", - name="id", - field=models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="portaltopic", - name="id", - field=models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="resource", - name="id", - field=models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "tag_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "any", - "Include related posts that match ANY topic tags on this page", - ), - ( - "all", - "Include related posts that match ALL topic tags on this page", - ), - ( - "ignore", - "IGNORE topic tags when selecting related posts", - ), - ] - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ( - "email_signup", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Stay informed", required=False - ), - ), - ( - "default_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - label="Default heading style", - required=False, - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - required=False, - ), - ), - ( - "gd_code", - wagtail.blocks.CharBlock( - help_text="Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###", - label="GovDelivery code", - required=False, - ), - ), - ( - "disclaimer_page", - wagtail.blocks.PageChooserBlock( - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - label="Privacy Act statement", - required=False, - ), - ), - ] - ), - ), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.CreateModel( - name="ResearchHubPage", - fields=[ - ( - "sublandingfilterablepage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.sublandingfilterablepage", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.sublandingfilterablepage",), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "tag_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "any", - "Include related posts that match ANY topic tags on this page", - ), - ( - "all", - "Include related posts that match ALL topic tags on this page", - ), - ( - "ignore", - "IGNORE topic tags when selecting related posts", - ), - ] - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.CreateModel( - name="SublandingPage", - fields=[ - ( - "cfgovpage_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="v1.cfgovpage", - ), - ), - ( - "header", - wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - ( - "content", - wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "information", - "Information", - ), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(), - ), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ( - "link", - "Link", - ), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Tag" - ), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "sidebar_breakout", - wagtail.fields.StreamField( - [ - ("slug", wagtail.blocks.CharBlock(icon="title")), - ( - "heading", - wagtail.blocks.CharBlock(icon="title"), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "breakout_image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "is_round", - wagtail.blocks.BooleanBlock( - default=True, - label="Round?", - required=False, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Enter icon class name." - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - label="Introduction Heading", - required=False, - ), - ), - ( - "body", - wagtail.blocks.TextBlock( - label="Introduction Body", - required=False, - ), - ), - ], - heading="Breakout Image", - icon="image", - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ( - "Op-Ed", - "Op-ed", - ), - ( - "Press Release", - "Press release", - ), - ( - "Speech", - "Speech", - ), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "tag_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "any", - "Include related posts that match ANY topic tags on this page", - ), - ( - "all", - "Include related posts that match ALL topic tags on this page", - ), - ( - "ignore", - "IGNORE topic tags when selecting related posts", - ), - ] - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "job_listing_list", - wagtail.blocks.StructBlock( - [ - ( - "more_jobs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to full list of jobs" - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - ( - "portal_topic", - models.ForeignKey( - blank=True, - help_text="Select a topic if this is a MONEY TOPICS portal page.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="portal_pages", - to="v1.portaltopic", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("v1.cfgovpage",), - ), - migrations.CreateModel( - name="EmailSignUp", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "topic", - models.CharField( - blank=True, - max_length=255, - null=True, - verbose_name="Topic name (internal only)", - ), - ), - ( - "code", - models.TextField( - blank=True, - help_text="GovDelivery Code (USCFPB_###) for the list people who submit the form will sign up for. Provide either this or the signup URL, but not both.", - null=True, - verbose_name="GovDelivery Code", - ), - ), - ( - "url", - models.URLField( - blank=True, - help_text="URL for the GovDelivery signup page people will be linked to in order to signup. Provide either this or the signup URL, but not both.", - null=True, - verbose_name="GovDelivery URL", - ), - ), - ( - "heading", - models.TextField(blank=True, default="Stay informed"), - ), - ( - "default_heading", - models.BooleanField( - blank=True, - default=True, - help_text="If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.", - null=True, - verbose_name="Default heading style", - ), - ), - ( - "text", - wagtail.fields.RichTextField( - blank=True, - help_text="Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.", - ), - ), - ( - "disclaimer_page", - models.ForeignKey( - blank=True, - help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="wagtailcore.page", - verbose_name="Privacy Act statement", - ), - ), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.DeleteModel( - name="Feedback", - ), - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(max_length=500), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar | % y-axis values"), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ("job_listing_table", jobmanager.blocks.JobListingTable()), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="campaignpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_units", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="campaignpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="eventpage", - name="persistent_body", - field=wagtail.fields.StreamField( - [ - ("content", wagtail.blocks.RichTextBlock(icon="edit")), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock(required=False), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="landingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "contact_expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ) - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="storypage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(max_length=500), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "contact_expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ) - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(max_length=500), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="cfgovpagecategory", - name="name", - field=models.CharField( - choices=[ - ( - "Administrative adjudication docket", - ( - ( - "administrative-adjudication", - "Administrative adjudication", - ), - ( - "stipulation-and-constent-order", - "Stipulation and consent order", - ), - ), - ), - ( - "Amicus Brief", - ( - ("us-supreme-court", "U.S. Supreme Court"), - ("fed-circuit-court", "Federal Circuit Court"), - ("fed-district-court", "Federal District Court"), - ("state-court", "State Court"), - ), - ), - ( - "Blog", - ( - ("at-the-cfpb", "At the CFPB"), - ("directors-notebook", "Director's notebook"), - ("policy-compliance", "Policy and compliance"), - ( - "data-research-reports", - "Data, research, and reports", - ), - ("info-for-consumers", "Info for consumers"), - ), - ), - ( - "Consumer Reporting Companies", - ( - ("nationwide", "Nationwide"), - ("employment-screening", "Employment screening"), - ("tenant-screening", "Tenant screening"), - ( - "check-bank-screening", - "Check and bank screening", - ), - ( - "personal-property-insurance", - "Personal property insurance", - ), - ("medical", "Medical"), - ( - "low-income-and-subprime", - "Low-income and subprime", - ), - ("supplementary-reports", "Supplementary reports"), - ("utilities", "Utilities"), - ("retail", "Retail"), - ("gaming", "Gaming"), - ), - ), - ( - "Enforcement Action", - ( - ( - "administrative-proceeding", - "Administrative Proceeding", - ), - ("civil-action", "Civil Action"), - ), - ), - ( - "Final rule", - ( - ("interim-final-rule", "Interim final rule"), - ("final-rule", "Final rule"), - ), - ), - ( - "FOIA Frequently Requested Record", - ( - ("report", "Report"), - ("log", "Log"), - ("record", "Record"), - ), - ), - ( - "Newsroom", - ( - ("consumer-advisories", "Consumer advisories"), - ("directors-statement", "Director's statement"), - ("op-ed", "Op-ed"), - ("press-release", "Press release"), - ("speech", "Speech"), - ("testimony", "Testimony"), - ), - ), - ( - "Notice and Opportunity for Comment", - ( - ( - "notice-proposed-rule", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule", "Proposed rule"), - ("interim-final-rule-2", "Interim final rule"), - ( - "request-comment-info", - "Request for comment or information", - ), - ("proposed-policy", "Proposed policy"), - ( - "intent-preempt-determ", - "Intent to make preemption determination", - ), - ( - "info-collect-activity", - "Information collection activities", - ), - ( - "notice-privacy-act", - "Notice related to Privacy Act", - ), - ), - ), - ( - "Research Hub", - ( - ("data-point", "Data point"), - ("industry-markets", "Industry and markets"), - ), - ), - ( - "Research Report", - ( - ("consumer-complaint", "Consumer complaint"), - ("super-highlight", "Supervisory Highlights"), - ("data-point", "Data point"), - ("industry-markets", "Industry and markets"), - ( - "consumer-edu-empower", - "Consumer education and empowerment", - ), - ("to-congress", "To Congress"), - ("data-spotlight", "Data spotlight"), - ), - ), - ( - "Rule Under Development", - ( - ( - "notice-proposed-rule-2", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule-2", "Proposed rule"), - ), - ), - ( - "Story", - ( - ("auto-loans", "Auto loans"), - ( - "bank-accts-services", - "Bank accounts and services", - ), - ("credit-cards", "Credit cards"), - ( - "credit-reports-scores", - "Credit reports and scores", - ), - ("debt-collection", "Debt collection"), - ("money-transfers", "Money transfers"), - ("mortgages", "Mortgages"), - ("payday-loans", "Payday loans"), - ("prepaid-cards", "Prepaid cards"), - ("student-loans", "Student loans"), - ), - ), - ], - max_length=255, - ), - ), - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "street", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, - required=False, - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, - required=False, - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="cfgovpagecategory", - name="name", - field=models.CharField( - choices=[ - ( - "Administrative adjudication docket", - ( - ( - "administrative-adjudication", - "Administrative adjudication", - ), - ( - "stipulation-and-constent-order", - "Stipulation and consent order", - ), - ), - ), - ( - "Amicus Brief", - ( - ("us-supreme-court", "U.S. Supreme Court"), - ("fed-circuit-court", "Federal Circuit Court"), - ("fed-district-court", "Federal District Court"), - ("state-court", "State Court"), - ), - ), - ( - "Blog", - ( - ("at-the-cfpb", "At the CFPB"), - ("directors-notebook", "Director's notebook"), - ("policy-compliance", "Policy and compliance"), - ( - "data-research-reports", - "Data, research, and reports", - ), - ("info-for-consumers", "Info for consumers"), - ), - ), - ( - "Consumer Reporting Companies", - ( - ("nationwide", "Nationwide"), - ("employment-screening", "Employment screening"), - ("tenant-screening", "Tenant screening"), - ( - "check-bank-screening", - "Check and bank screening", - ), - ( - "personal-property-insurance", - "Personal property insurance", - ), - ("medical", "Medical"), - ( - "low-income-and-subprime", - "Low-income and subprime", - ), - ("supplementary-reports", "Supplementary reports"), - ("utilities", "Utilities"), - ("retail", "Retail"), - ("gaming", "Gaming"), - ), - ), - ( - "Enforcement Action", - ( - ( - "administrative-proceeding", - "Administrative Proceeding", - ), - ("civil-action", "Civil Action"), - ), - ), - ( - "Final rule", - ( - ("interim-final-rule", "Interim final rule"), - ("final-rule", "Final rule"), - ), - ), - ( - "FOIA Frequently Requested Record", - ( - ("report", "Report"), - ("log", "Log"), - ("record", "Record"), - ), - ), - ( - "Newsroom", - ( - ("consumer-advisories", "Consumer advisories"), - ("directors-statement", "Director's statement"), - ("op-ed", "Op-ed"), - ("press-release", "Press release"), - ("speech", "Speech"), - ("testimony", "Testimony"), - ), - ), - ( - "Notice and Opportunity for Comment", - ( - ( - "notice-proposed-rule", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule", "Proposed rule"), - ("interim-final-rule-2", "Interim final rule"), - ( - "request-comment-info", - "Request for comment or information", - ), - ("proposed-policy", "Proposed policy"), - ( - "intent-preempt-determ", - "Intent to make preemption determination", - ), - ( - "info-collect-activity", - "Information collection activities", - ), - ( - "notice-privacy-act", - "Notice related to Privacy Act", - ), - ), - ), - ( - "Research Hub", - ( - ( - "research-publication", - "Office of Research Publication", - ), - ), - ), - ( - "Research Report", - ( - ("consumer-complaint", "Consumer complaint"), - ("super-highlight", "Supervisory Highlights"), - ("data-point", "Data point"), - ("industry-markets", "Industry and markets"), - ( - "consumer-edu-empower", - "Consumer education and empowerment", - ), - ("to-congress", "To Congress"), - ("data-spotlight", "Data spotlight"), - ), - ), - ( - "Rule Under Development", - ( - ( - "notice-proposed-rule-2", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule-2", "Proposed rule"), - ), - ), - ( - "Story", - ( - ("auto-loans", "Auto loans"), - ( - "bank-accts-services", - "Bank accounts and services", - ), - ("credit-cards", "Credit cards"), - ( - "credit-reports-scores", - "Credit reports and scores", - ), - ("debt-collection", "Debt collection"), - ("money-transfers", "Money transfers"), - ("mortgages", "Mortgages"), - ("payday-loans", "Payday loans"), - ("prepaid-cards", "Prepaid cards"), - ("student-loans", "Student loans"), - ), - ), - ], - max_length=255, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="language", - field=models.CharField( - choices=[ - ("ar", "Arabic"), - ("zh-Hant", "Chinese (Traditional)"), - ("en", "English"), - ("ht", "Haitian Creole"), - ("ko", "Korean"), - ("ru", "Russian"), - ("es", "Spanish"), - ("tl", "Tagalog"), - ("vi", "Vietnamese"), - ], - default="en", - max_length=100, - ), - ), - migrations.AddField( - model_name="cfgovpage", - name="english_page", - field=models.ForeignKey( - blank=True, - help_text="Optionally select the English version of this page (non-English pages only)", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="non_english_pages", - to="wagtailcore.page", - ), - ), - migrations.AlterField( - model_name="cfgovpagecategory", - name="name", - field=models.CharField( - choices=[ - ( - "Administrative adjudication docket", - ( - ( - "administrative-adjudication", - "Administrative adjudication", - ), - ( - "stipulation-and-constent-order", - "Stipulation and consent order", - ), - ), - ), - ( - "Amicus Brief", - ( - ("us-supreme-court", "U.S. Supreme Court"), - ("fed-circuit-court", "Federal Circuit Court"), - ("fed-district-court", "Federal District Court"), - ("state-court", "State Court"), - ), - ), - ( - "Blog", - ( - ("at-the-cfpb", "At the CFPB"), - ("directors-notebook", "Director's notebook"), - ("policy-compliance", "Policy and compliance"), - ( - "data-research-reports", - "Data, research, and reports", - ), - ("info-for-consumers", "Info for consumers"), - ), - ), - ( - "Consumer Reporting Companies", - ( - ("nationwide", "Nationwide"), - ("employment-screening", "Employment screening"), - ("tenant-screening", "Tenant screening"), - ( - "check-bank-screening", - "Check and bank account screening", - ), - ( - "personal-property-insurance", - "Personal property insurance", - ), - ("medical", "Medical"), - ( - "low-income-and-subprime", - "Low-income and subprime", - ), - ("supplementary-reports", "Supplementary reports"), - ("utilities", "Utilities"), - ("retail", "Retail"), - ("gaming", "Gaming"), - ), - ), - ( - "Enforcement Action", - ( - ( - "administrative-proceeding", - "Administrative Proceeding", - ), - ("civil-action", "Civil Action"), - ), - ), - ( - "Final rule", - ( - ("interim-final-rule", "Interim final rule"), - ("final-rule", "Final rule"), - ), - ), - ( - "FOIA Frequently Requested Record", - ( - ("report", "Report"), - ("log", "Log"), - ("record", "Record"), - ), - ), - ( - "Newsroom", - ( - ("consumer-advisories", "Consumer advisories"), - ("directors-statement", "Director's statement"), - ("op-ed", "Op-ed"), - ("press-release", "Press release"), - ("speech", "Speech"), - ("testimony", "Testimony"), - ), - ), - ( - "Notice and Opportunity for Comment", - ( - ( - "notice-proposed-rule", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule", "Proposed rule"), - ("interim-final-rule-2", "Interim final rule"), - ( - "request-comment-info", - "Request for comment or information", - ), - ("proposed-policy", "Proposed policy"), - ( - "intent-preempt-determ", - "Intent to make preemption determination", - ), - ( - "info-collect-activity", - "Information collection activities", - ), - ( - "notice-privacy-act", - "Notice related to Privacy Act", - ), - ), - ), - ( - "Research Hub", - ( - ( - "research-publication", - "Office of Research Publication", - ), - ), - ), - ( - "Research Report", - ( - ("consumer-complaint", "Consumer complaint"), - ("super-highlight", "Supervisory Highlights"), - ("data-point", "Data point"), - ("industry-markets", "Industry and markets"), - ( - "consumer-edu-empower", - "Consumer education and empowerment", - ), - ("to-congress", "To Congress"), - ("data-spotlight", "Data spotlight"), - ), - ), - ( - "Rule Under Development", - ( - ( - "notice-proposed-rule-2", - "Advance notice of proposed rulemaking", - ), - ("proposed-rule-2", "Proposed rule"), - ), - ), - ( - "Story", - ( - ("auto-loans", "Auto loans"), - ( - "bank-accts-services", - "Bank accounts and services", - ), - ("credit-cards", "Credit cards"), - ( - "credit-reports-scores", - "Credit reports and scores", - ), - ("debt-collection", "Debt collection"), - ("money-transfers", "Money transfers"), - ("mortgages", "Mortgages"), - ("payday-loans", "Payday loans"), - ("prepaid-cards", "Prepaid cards"), - ("student-loans", "Student loans"), - ), - ), - ], - max_length=255, - ), - ), - migrations.RemoveField( - model_name="contact", - name="body_shown_in_expandables", - ), - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar | % y-axis values"), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ("job_listing_table", jobmanager.blocks.JobListingTable()), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "contact_us_table", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "rows", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.ContactUsRow, - collapsed=True, - min_num=1, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="language", - field=models.CharField( - choices=[ - ("ar", "Arabic"), - ("zh-Hant", "Chinese"), - ("en", "English"), - ("ht", "Haitian Creole"), - ("ko", "Korean"), - ("ru", "Russian"), - ("es", "Spanish"), - ("tl", "Tagalog"), - ("vi", "Vietnamese"), - ], - default="en", - max_length=100, - ), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="navigation_label", - field=models.CharField( - blank=True, - help_text="Optional short label for left navigation.", - max_length=100, - null=True, - ), - ), - migrations.AddField( - model_name="browsepage", - name="navigation_label", - field=models.CharField( - blank=True, - help_text="Optional short label for left navigation.", - max_length=100, - null=True, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="secondary_nav_exclude_sibling_pages", - field=models.BooleanField( - default=False, - help_text="Don't show siblings of this page in the left navigation.", - ), - ), - migrations.AlterField( - model_name="browsepage", - name="secondary_nav_exclude_sibling_pages", - field=models.BooleanField( - default=False, - help_text="Don't show siblings of this page in the left navigation.", - ), - ), - migrations.DeleteModel( - name="IndexedPageRevision", - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=None, - ), - ), - migrations.AlterField( - model_name="abstractfilterpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "article_subheader", - wagtail.blocks.RichTextBlock(icon="form"), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "item_introduction", - wagtail.blocks.StructBlock( - [ - ( - "show_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Whether to show the category or not (category must be set in 'Configuration').", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "date", - wagtail.blocks.DateBlock(required=False), - ), - ( - "has_social", - wagtail.blocks.BooleanBlock( - help_text="Whether to show the share icons or not.", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="banner", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "content", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ) - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar | % y-axis values"), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ("job_listing_table", jobmanager.blocks.JobListingTable()), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="campaignpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_units", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="campaignpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="cfgovpage", - name="sidefoot", - field=wagtail.fields.StreamField( - [ - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "tag_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "any", - "Include related posts that match ANY topic tags on this page", - ), - ( - "all", - "Include related posts that match ALL topic tags on this page", - ), - ( - "ignore", - "IGNORE topic tags when selecting related posts", - ), - ] - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "related_metadata", - wagtail.blocks.StructBlock( - [ - ( - "slug", - wagtail.blocks.CharBlock(max_length=100), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "blob", - wagtail.blocks.RichTextBlock(), - ), - ], - icon="pilcrow", - ), - ), - ( - "list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ], - icon="list-ul", - ), - ), - ( - "date", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - max_length=100 - ), - ), - ( - "date", - wagtail.blocks.DateBlock(), - ), - ], - icon="date", - ), - ), - ( - "topics", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - default="Topics", - max_length=100, - ), - ), - ( - "show_topics", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ], - icon="tag", - ), - ), - ] - ), - ), - ( - "is_half_width", - wagtail.blocks.BooleanBlock( - default=False, required=False - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "sidebar_contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ("rss_feed", v1.atomic_elements.molecules.RSSFeed()), - ( - "social_media", - wagtail.blocks.StructBlock( - [ - ( - "is_share_view", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.", - label="Desired action: share this page", - required=False, - ), - ), - ( - "blurb", - wagtail.blocks.CharBlock( - default="Look what I found on the CFPB's site!", - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ( - "twitter_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.", - max_length=100, - required=False, - ), - ), - ( - "twitter_related", - wagtail.blocks.CharBlock( - help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', - required=False, - ), - ), - ( - "twitter_hashtags", - wagtail.blocks.CharBlock( - help_text="(Optional) A comma-separated list of hashtags to be appended to default tweet text.", - required=False, - ), - ), - ( - "twitter_lang", - wagtail.blocks.CharBlock( - help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', - required=False, - ), - ), - ( - "email_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "email_text", - wagtail.blocks.CharBlock( - help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', - required=False, - ), - ), - ( - "email_signature", - wagtail.blocks.CharBlock( - help_text="(Optional) Adds a custom signature line to email shares. ", - required=False, - ), - ), - ( - "linkedin_title", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.", - required=False, - ), - ), - ( - "linkedin_text", - wagtail.blocks.CharBlock( - help_text="(Optional) Custom text for LinkedIn shares.", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - v1.models.snippets.ReusableText - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="contact", - name="contact_info", - field=wagtail.fields.StreamField( - [ - ( - "email", - wagtail.blocks.StructBlock( - [ - ( - "emails", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "url", - wagtail.blocks.EmailBlock( - label="Email address" - ), - ), - ( - "text", - wagtail.blocks.CharBlock( - label="Link text (optional)", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "phone", - wagtail.blocks.StructBlock( - [ - ( - "fax", - wagtail.blocks.BooleanBlock( - default=False, - label="Is this number a fax?", - required=False, - ), - ), - ( - "phones", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "number", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - max_length=15, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "extension", - wagtail.blocks.CharBlock( - max_length=4, - required=False, - ), - ), - ( - "vanity", - wagtail.blocks.CharBlock( - help_text="A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB", - max_length=15, - required=False, - ), - ), - ( - "tty", - wagtail.blocks.CharBlock( - help_text="Do not include spaces or dashes. Ex. 8554112372", - label="TTY", - max_length=15, - required=False, - validators=[ - django.core.validators.RegexValidator( - message="Enter a numeric phone number, without punctuation.", - regex="^\\d*$", - ) - ], - ), - ), - ( - "tty_ext", - wagtail.blocks.CharBlock( - label="TTY Extension", - max_length=4, - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "address", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "title", - wagtail.blocks.CharBlock(required=False), - ), - ( - "street", - wagtail.blocks.CharBlock(required=False), - ), - ( - "city", - wagtail.blocks.CharBlock( - max_length=50, required=False - ), - ), - ( - "state", - wagtail.blocks.CharBlock( - max_length=25, required=False - ), - ), - ( - "zip_code", - wagtail.blocks.CharBlock( - max_length=15, required=False - ), - ), - ] - ), - ), - ( - "hyperlink", - wagtail.blocks.StructBlock( - [ - ("url", wagtail.blocks.URLBlock()), - ( - "text", - wagtail.blocks.CharBlock(required=False), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="eventpage", - name="agenda_items", - field=wagtail.fields.StreamField( - [ - ( - "item", - wagtail.blocks.StructBlock( - [ - ( - "start_time", - wagtail.blocks.TimeBlock( - label="Start", required=False - ), - ), - ( - "end_time", - wagtail.blocks.TimeBlock( - label="End", required=False - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - max_length=100, required=False - ), - ), - ( - "location", - wagtail.blocks.CharBlock( - max_length=100, required=False - ), - ), - ( - "speakers", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "name", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "url", - wagtail.blocks.URLBlock( - required=False - ), - ), - ], - icon="user", - required=False, - ) - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="eventpage", - name="persistent_body", - field=wagtail.fields.StreamField( - [ - ("content", wagtail.blocks.RichTextBlock(icon="edit")), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock(required=False), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="landingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="landingpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "contact_us_table", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "rows", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.ContactUsRow, - collapsed=True, - min_num=1, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="storypage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "jumbo_hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_50_50", - wagtail.blocks.BooleanBlock( - help_text="Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.", - label="50/50 layout", - required=False, - ), - ), - ] - ), - ), - ( - "features", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="header", - field=wagtail.fields.StreamField( - [ - ( - "hero", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - help_text='Character counts (including spaces) at largest breakpoint:', - label="Sub-heading", - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', - label="Large image", - required=False, - ), - ), - ( - "small_image", - wagtail.images.blocks.ImageChooserBlock( - help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', - required=False, - ), - ), - ( - "background_color", - wagtail.blocks.CharBlock( - help_text='Specify a hex value (including the # sign) from our official color palette.', - required=False, - ), - ), - ( - "is_white_text", - wagtail.blocks.BooleanBlock( - help_text="Optional. Turns the hero text white. Useful if using a dark background color or background image.", - label="White text", - required=False, - ), - ), - ( - "is_overlay", - wagtail.blocks.BooleanBlock( - help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', - label="Photo", - required=False, - ), - ), - ( - "is_bleeding", - wagtail.blocks.BooleanBlock( - help_text="Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.", - label="Bleed", - required=False, - ), - ), - ] - ), - ) - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="sidebar_breakout", - field=wagtail.fields.StreamField( - [ - ("slug", wagtail.blocks.CharBlock(icon="title")), - ("heading", wagtail.blocks.CharBlock(icon="title")), - ("paragraph", wagtail.blocks.RichTextBlock(icon="edit")), - ( - "breakout_image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "is_round", - wagtail.blocks.BooleanBlock( - default=True, - label="Round?", - required=False, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Enter icon class name." - ), - ), - ( - "heading", - wagtail.blocks.CharBlock( - label="Introduction Heading", - required=False, - ), - ), - ( - "body", - wagtail.blocks.TextBlock( - label="Introduction Body", - required=False, - ), - ), - ], - heading="Breakout Image", - icon="image", - ), - ), - ( - "related_posts", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.", - ), - ), - ( - "show_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="This toggles the heading and icon for the related types.", - label="Show Heading and Icon?", - required=False, - ), - ), - ( - "header_title", - wagtail.blocks.CharBlock( - default="Further reading", - label="Slug Title", - ), - ), - ( - "relate_posts", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Blog Posts", - required=False, - ), - ), - ( - "relate_newsroom", - wagtail.blocks.BooleanBlock( - default=True, - editable=False, - label="Newsroom", - required=False, - ), - ), - ( - "relate_events", - wagtail.blocks.BooleanBlock( - default=True, - label="Events", - required=False, - ), - ), - ( - "specific_categories", - wagtail.blocks.ListBlock( - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "Blog", - ( - ( - "At the CFPB", - "At the CFPB", - ), - ( - "Director's notebook", - "Director's notebook", - ), - ( - "Policy & Compliance", - "Policy and compliance", - ), - ( - "Data, Research & Reports", - "Data, research, and reports", - ), - ( - "Info for Consumers", - "Info for consumers", - ), - ), - ), - ( - "Newsroom", - ( - ( - "Consumer Advisories", - "Consumer advisories", - ), - ( - "Director's Statement", - "Director's statement", - ), - ("Op-Ed", "Op-ed"), - ( - "Press Release", - "Press release", - ), - ("Speech", "Speech"), - ( - "Testimony", - "Testimony", - ), - ), - ), - ], - required=False, - ), - required=False, - ), - ), - ( - "tag_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "any", - "Include related posts that match ANY topic tags on this page", - ), - ( - "all", - "Include related posts that match ALL topic tags on this page", - ), - ( - "ignore", - "IGNORE topic tags when selecting related posts", - ), - ] - ), - ), - ( - "alternate_view_more_url", - wagtail.blocks.CharBlock( - help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', - label='Alternate "View more" URL', - required=False, - ), - ), - ] - ), - ), - ( - "job_listing_list", - wagtail.blocks.StructBlock( - [ - ( - "more_jobs_page", - wagtail.blocks.PageChooserBlock( - help_text="Link to full list of jobs" - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="cfgovcontentowner", - name="slug", - field=models.SlugField( - allow_unicode=True, - max_length=100, - unique=True, - verbose_name="slug", - ), - ), - ] diff --git a/cfgov/v1/migrations/0001_squashed_0254_delete_campaignpage.py b/cfgov/v1/migrations/0001_squashed_0254_delete_campaignpage.py new file mode 100644 index 00000000000..65f1e2c2000 --- /dev/null +++ b/cfgov/v1/migrations/0001_squashed_0254_delete_campaignpage.py @@ -0,0 +1,795 @@ +# Generated by Django 3.2.20 on 2023-08-02 19:59 + +import datetime +from django.conf import settings +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import jobmanager.blocks +import localflavor.us.models +import modelcluster.contrib.taggit +import modelcluster.fields +import taggit.managers +import v1.atomic_elements.molecules +import v1.atomic_elements.tables +import v1.blocks +import v1.models.snippets +import v1.util.ref +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks +import wagtail.images.models +import wagtail.models.collections +import wagtail.search.index +import wagtail.snippets.blocks +import wagtailmedia.blocks + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('wagtailinventory', '0003_pageblock_id_bigautofield'), + ('wagtaildocs', '0007_merge'), + ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'), + ('login', '0001_squashed_0003_simplify_password_logic'), + ('wagtailforms', '0005_alter_formsubmission_form_data'), + ('wagtailcore', '0067_alter_pagerevision_content_json'), + ('wagtailcore', '0040_page_draft_title'), + ('wagtailimages', '0019_delete_filter'), + ('contenttypes', '__first__'), + ('taggit', '0002_auto_20150616_2121'), + ('wagtailcore', '0075_populate_latest_revision_and_revision_object_str'), + ('wagtailredirects', '0008_add_verbose_name_plural'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('wagtailcore', '0066_collection_management_permissions'), + ('wagtailcore', '0078_referenceindex'), + ] + + operations = [ + migrations.CreateModel( + name='CDNHistory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(auto_now_add=True)), + ('subject', models.CharField(max_length=2083)), + ('message', models.CharField(max_length=255)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='CFGOVAuthoredPages', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ], + options={ + 'verbose_name': 'Author', + 'verbose_name_plural': 'Authors', + }, + ), + migrations.CreateModel( + name='CFGOVImage', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255, verbose_name='title')), + ('file', models.ImageField(height_field='height', upload_to=wagtail.images.models.get_upload_to, verbose_name='file', width_field='width')), + ('width', models.IntegerField(editable=False, verbose_name='width')), + ('height', models.IntegerField(editable=False, verbose_name='height')), + ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='created at')), + ('focal_point_x', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_y', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_width', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_height', models.PositiveIntegerField(blank=True, null=True)), + ('file_size', models.PositiveIntegerField(editable=False, null=True)), + ('alt', models.TextField(blank=True, help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.")), + ('collection', models.ForeignKey(default=wagtail.models.collections.get_root_collection_id, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailcore.collection', verbose_name='collection')), + ('tags', taggit.managers.TaggableManager(blank=True, help_text=None, through='taggit.TaggedItem', to='taggit.Tag', verbose_name='tags')), + ('uploaded_by_user', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='uploaded by user')), + ('file_hash', models.CharField(blank=True, editable=False, max_length=40)), + ], + options={ + 'abstract': False, + }, + bases=(wagtail.search.index.Indexed, models.Model), + ), + migrations.CreateModel( + name='CFGOVPage', + 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')), + ('language', models.CharField(choices=[('en', 'English'), ('es', 'Spanish'), ('zh', 'Chinese'), ('vi', 'Vietnamese'), ('ko', 'Korean'), ('tl', 'Tagalog'), ('ru', 'Russian'), ('ar', 'Arabic'), ('ht', 'Haitian Creole')], default='en', max_length=2)), + ('sidefoot', wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony'), ("Director's notebook", "Director's notebook")))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag')), ('categories', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Categories', max_length=100)), ('show_categories', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='list-ul'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None)), + ('authors', modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma separated list of authors.', through='v1.CFGOVAuthoredPages', to='taggit.Tag', verbose_name='Authors')), + ('social_sharing_image', models.ForeignKey(blank=True, help_text='Optionally select a custom image to appear when users share this page on social media websites. Recommended size: 1200w x 630h. Maximum size: 4096w x 4096h.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage')), + ], + bases=('wagtailcore.page',), + ), + migrations.CreateModel( + name='Contact', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('heading', models.CharField(help_text='The snippet heading', max_length=255, verbose_name='Heading')), + ('body', wagtail.fields.RichTextField(blank=True)), + ('contact_info', wagtail.fields.StreamField([('email', wagtail.blocks.StructBlock([('emails', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.EmailBlock(label='Email address')), ('text', wagtail.blocks.CharBlock(label='Link text (optional)', required=False))])))])), ('phone', wagtail.blocks.StructBlock([('fax', wagtail.blocks.BooleanBlock(default=False, label='Is this number a fax?', required=False)), ('phones', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(help_text='Do not include spaces or dashes. Ex. 8554112372', max_length=15, validators=[django.core.validators.RegexValidator(message='Enter a numeric phone number, without punctuation.', regex='^\\d*$')])), ('extension', wagtail.blocks.CharBlock(max_length=4, required=False)), ('vanity', wagtail.blocks.CharBlock(help_text='A phoneword version of the above number. Include any formatting. Ex. (555) 222-CFPB', max_length=15, required=False)), ('tty', wagtail.blocks.CharBlock(help_text='Do not include spaces or dashes. Ex. 8554112372', label='TTY', max_length=15, required=False, validators=[django.core.validators.RegexValidator(message='Enter a numeric phone number, without punctuation.', regex='^\\d*$')])), ('tty_ext', wagtail.blocks.CharBlock(label='TTY Extension', max_length=4, required=False))])))])), ('address', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('street', wagtail.blocks.CharBlock(required=False)), ('city', wagtail.blocks.CharBlock(max_length=50, required=False)), ('state', wagtail.blocks.CharBlock(max_length=25, required=False)), ('zip_code', wagtail.blocks.CharBlock(max_length=15, required=False))])), ('hyperlink', wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock()), ('text', wagtail.blocks.CharBlock(required=False))]))], blank=True, use_json_field=True)), + ], + options={ + 'ordering': ['heading'], + }, + ), + migrations.CreateModel( + name='PortalCategory', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('heading', models.CharField(blank=True, max_length=255)), + ('heading_es', models.CharField(blank=True, max_length=255)), + ('display_order', models.IntegerField(default=0, help_text='Controls sequence of categories in sidebar navigation.')), + ], + options={ + 'verbose_name_plural': 'portal categories', + 'ordering': ['display_order'], + }, + ), + migrations.CreateModel( + name='PortalCategoryTag', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('content_object', modelcluster.fields.ParentalKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tagged_portal_category', to='v1.portalcategory')), + ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='v1_portalcategorytag_items', to='taggit.tag')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='PortalTopic', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('heading', models.CharField(blank=True, max_length=255)), + ('heading_es', models.CharField(blank=True, max_length=255)), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='PortalTopicTag', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('content_object', modelcluster.fields.ParentalKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tagged_portal_topic', to='v1.portaltopic')), + ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='v1_portaltopictag_items', to='taggit.tag')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='RelatedResource', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('title_es', models.CharField(blank=True, max_length=255, null=True)), + ('text', wagtail.fields.RichTextField(blank=True, null=True)), + ('text_es', wagtail.fields.RichTextField(blank=True, null=True)), + ], + bases=(wagtail.search.index.Indexed, models.Model), + ), + migrations.CreateModel( + name='Resource', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('desc', wagtail.fields.RichTextField(blank=True, verbose_name='Description')), + ('link', models.URLField(blank=True, help_text='Example: URL to order a few copies of a printed piece.', validators=[django.core.validators.URLValidator])), + ('alternate_link', models.URLField(blank=True, help_text='Example: a URL to for ordering bulk copies.', validators=[django.core.validators.URLValidator])), + ('order', models.PositiveSmallIntegerField(blank=True, help_text='Resources will be listed alphabetically by title in a Resource List module, unless any in the list have a number in this field; those with an order value will appear in ascending order.', null=True)), + ('alternate_file', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtaildocs.document')), + ('related_file', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtaildocs.document')), + ], + options={ + 'ordering': ('order', 'title'), + }, + ), + migrations.CreateModel( + name='ResourceTag', + 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='tagged_items', to='v1.resource')), + ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='v1_resourcetag_items', to='taggit.tag')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='ReusableText', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255, verbose_name='Snippet title (internal only)')), + ('sidefoot_heading', models.CharField(blank=True, help_text='Applies "slug" style heading. Only for use in sidebars and prefooters (the "sidefoot"). See [GHE]/flapjack/Modules-V1/wiki/Atoms#slugs', max_length=255)), + ('text', wagtail.fields.RichTextField()), + ], + bases=(wagtail.search.index.Indexed, models.Model), + ), + migrations.CreateModel( + name='AbstractFilterPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('article_subheader', wagtail.blocks.RichTextBlock(icon='form')), ('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('item_introduction', wagtail.blocks.StructBlock([('show_category', wagtail.blocks.BooleanBlock(default=True, help_text="Whether to show the category or not (category must be set in 'Configuration').", required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('date', wagtail.blocks.DateBlock(required=False)), ('has_social', wagtail.blocks.BooleanBlock(help_text='Whether to show the share icons or not.', required=False))])), ('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))]))], blank=True, use_json_field=True)), + ('preview_title', models.CharField(blank=True, max_length=255, null=True)), + ('preview_subheading', models.CharField(blank=True, max_length=255, null=True)), + ('preview_description', wagtail.fields.RichTextField(blank=True, null=True)), + ('date_published', models.DateField(default=datetime.date.today)), + ('preview_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='BrowseFilterablePage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))]))], use_json_field=True)), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('filter_controls', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('filter_by_keyword', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a "Search by keyword" filter in the filter controls.', required=False)), ('filter_by_category', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a "Category" filter in the filter controls.', required=False)), ('category_choices', wagtail.blocks.ChoiceBlock(choices=v1.util.ref.filterable_list_page_types, required=False)), ('filter_by_topics', wagtail.blocks.BooleanBlock(help_text='Whether to include a "Topics" filter in the filter controls', required=False)), ('filter_by_enforcement_statuses', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', required=False)), ('filter_by_enforcement_products', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', required=False)), ('filter_by_language', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', required=False)), ('filter_by_date_range', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a set of "Date range" filters in the filter controls.', required=False))]))], blank=True, use_json_field=True)), + ('secondary_nav_exclude_sibling_pages', models.BooleanField(default=False, help_text="Don't show siblings of this page in the left navigation.")), + ('navigation_label', models.CharField(blank=True, help_text='Optional short label for left navigation.', max_length=100, null=True)), + ('filter_children_only', models.BooleanField(default=True)), + ('filtered_date_label', models.CharField(blank=True, max_length=30, null=True)), + ('filtered_ordering', models.CharField(choices=[('-start_date', 'Date'), ('title.raw', 'Alphabetical')], default='-start_date', max_length=30)), + ('show_filtered_categories', models.BooleanField(default=True)), + ('show_filtered_dates', models.BooleanField(default=True)), + ('show_filtered_tags', models.BooleanField(default=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='HomePage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='SublandingFilterablePage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('filter_controls', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('filter_by_keyword', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a "Search by keyword" filter in the filter controls.', required=False)), ('filter_by_category', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a "Category" filter in the filter controls.', required=False)), ('category_choices', wagtail.blocks.ChoiceBlock(choices=v1.util.ref.filterable_list_page_types, required=False)), ('filter_by_topics', wagtail.blocks.BooleanBlock(help_text='Whether to include a "Topics" filter in the filter controls', required=False)), ('filter_by_enforcement_statuses', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', required=False)), ('filter_by_enforcement_products', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', required=False)), ('filter_by_language', wagtail.blocks.BooleanBlock(default=False, help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', required=False)), ('filter_by_date_range', wagtail.blocks.BooleanBlock(default=True, help_text='Whether to include a set of "Date range" filters in the filter controls.', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))]))], blank=True, use_json_field=True)), + ('filter_children_only', models.BooleanField(default=True)), + ('filtered_date_label', models.CharField(blank=True, max_length=30, null=True)), + ('filtered_ordering', models.CharField(choices=[('-start_date', 'Date'), ('title.raw', 'Alphabetical')], default='-start_date', max_length=30)), + ('show_filtered_categories', models.BooleanField(default=True)), + ('show_filtered_dates', models.BooleanField(default=True)), + ('show_filtered_tags', models.BooleanField(default=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.AddField( + model_name='resource', + name='tags', + field=taggit.managers.TaggableManager(blank=True, help_text='Tags can be used to filter resources in a Resource List.', through='v1.ResourceTag', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='resource', + name='thumbnail', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage'), + ), + migrations.AddField( + model_name='portaltopic', + name='tags', + field=taggit.managers.TaggableManager(blank=True, help_text='Tags are used to identify and organize portal topic pages.', through='v1.PortalTopicTag', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='portalcategory', + name='tags', + field=taggit.managers.TaggableManager(blank=True, help_text='Tags are used to identify and organize portal see-all pages.', through='v1.PortalCategoryTag', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.CreateModel( + name='CFGOVTaggedPages', + 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, to='v1.cfgovpage')), + ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='v1_cfgovtaggedpages_items', to='taggit.tag')), + ], + options={ + 'verbose_name': 'Tag', + 'verbose_name_plural': 'Tags', + }, + ), + migrations.AddField( + model_name='cfgovpage', + name='tags', + field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma-separated list of tags.', related_name='tagged_pages', through='v1.CFGOVTaggedPages', to='taggit.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='cfgovauthoredpages', + name='content_object', + field=modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, to='v1.cfgovpage'), + ), + migrations.AddField( + model_name='cfgovauthoredpages', + name='tag', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='v1_cfgovauthoredpages_items', to='taggit.tag'), + ), + migrations.CreateModel( + name='ActivityLogPage', + fields=[ + ('sublandingfilterablepage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.sublandingfilterablepage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.sublandingfilterablepage',), + ), + migrations.CreateModel( + name='BlogPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('faq_schema', wagtail.blocks.StructBlock([('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('questions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))], label='FAQ schema')), ('how_to_schema', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title of How To section', max_length=500)), ('title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4')], help_text='Choose a tag for the title of the How To section.', label='Tag for How To section title')), ('show_title', wagtail.blocks.BooleanBlock(default=True, help_text='The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.', label='Show How To section title', required=False)), ('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('step_title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('b', 'Bold'), ('p', 'Paragraph')], help_text='Choose a tag for the title of each HowTo step.', label='Tag for step titles')), ('has_numbers', wagtail.blocks.BooleanBlock(default=False, help_text='Check this box to display numbers before step titles. ', label='Show numbers for steps', required=False)), ('steps', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", max_length=500, required=False)), ('title', wagtail.blocks.CharBlock(help_text='Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.', max_length=500)), ('step_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))], label='HowTo schema', max_num=1))], use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.CreateModel( + name='EventArchivePage', + fields=[ + ('browsefilterablepage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.browsefilterablepage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.browsefilterablepage',), + ), + migrations.CreateModel( + name='LegacyBlogPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('faq_schema', wagtail.blocks.StructBlock([('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('questions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))], label='FAQ schema')), ('how_to_schema', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title of How To section', max_length=500)), ('title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4')], help_text='Choose a tag for the title of the How To section.', label='Tag for How To section title')), ('show_title', wagtail.blocks.BooleanBlock(default=True, help_text='The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.', label='Show How To section title', required=False)), ('description', wagtail.blocks.RichTextBlock(blank=True, features=['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], required=False)), ('step_title_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('b', 'Bold'), ('p', 'Paragraph')], help_text='Choose a tag for the title of each HowTo step.', label='Tag for step titles')), ('has_numbers', wagtail.blocks.BooleanBlock(default=False, help_text='Check this box to display numbers before step titles. ', label='Show numbers for steps', required=False)), ('steps', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", max_length=500, required=False)), ('title', wagtail.blocks.CharBlock(help_text='Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.', max_length=500)), ('step_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], label='Text'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))]))]))])))], label='HowTo schema', max_num=1)), ('content', wagtail.blocks.RawHTMLBlock(help_text='Content from WordPress unescaped.')), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText'))], use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.CreateModel( + name='NewsroomLandingPage', + fields=[ + ('browsefilterablepage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.browsefilterablepage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.browsefilterablepage',), + ), + migrations.CreateModel( + name='LegacyNewsroomPage', + fields=[ + ('legacyblogpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.legacyblogpage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.legacyblogpage',), + ), + migrations.CreateModel( + name='NewsroomPage', + fields=[ + ('blogpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.blogpage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.blogpage',), + ), + migrations.CreateModel( + name='EnforcementActionPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('court', models.CharField(blank=True, default='', max_length=150)), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))]))], blank=True, use_json_field=True)), + ('initial_filing_date', models.DateField(blank=True, null=True)), + ('public_enforcement_action', models.CharField(blank=True, max_length=150)), + ('settled_or_contested_at_filing', models.CharField(blank=True, choices=[('Settled', 'Settled'), ('Contested', 'Contested')], max_length=10)), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.CreateModel( + name='EnforcementActionStatus', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('status', models.CharField(choices=[('expired-terminated-dismissed', 'Expired/Terminated/Dismissed'), ('pending-litigation', 'Pending Litigation'), ('post-order-post-judgment', 'Post Order/Post Judgment')], max_length=50)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='statuses', to='v1.enforcementactionpage')), + ], + ), + migrations.CreateModel( + name='EnforcementActionDocket', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('docket_number', models.CharField(max_length=50)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='docket_numbers', to='v1.enforcementactionpage')), + ], + ), + migrations.CreateModel( + name='EnforcementActionsFilterPage', + fields=[ + ('browsefilterablepage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.browsefilterablepage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.browsefilterablepage',), + ), + migrations.CreateModel( + name='Banner', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(help_text='For internal reference only; does not appear on the site.', max_length=255)), + ('url_pattern', models.CharField(help_text='A regular expression pattern for matching URLs that should show the banner, for example: contact-us|^/complaint/$', max_length=1000, validators=[django.core.validators.RegexValidator(regex='[A-Za-z0-9\\-_.:/?&|\\^$]')], verbose_name='URL patterns')), + ('content', wagtail.fields.StreamField([('content', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))]))], use_json_field=True)), + ('enabled', models.BooleanField()), + ], + ), + migrations.AddField( + model_name='cfgovpage', + name='schema_json', + field=models.JSONField(blank=True, help_text='Enter structured data for this page in JSON-LD format, for use by search engines in providing rich search results. Learn more. JSON entered here will be output in the <head> of the page between <script type="application/ld+json"> and </script> tags.', null=True, verbose_name='Schema JSON'), + ), + migrations.AlterField( + model_name='cfgovpage', + name='authors', + field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma separated list of authors.', related_name='authored_pages', through='v1.CFGOVAuthoredPages', to='taggit.Tag', verbose_name='Authors'), + ), + migrations.AddField( + model_name='cfgovpage', + name='force_breadcrumbs', + field=models.BooleanField(blank=True, default=False, help_text="Normally breadcrumbs don't appear on pages one or two levels below the homepage. Check this option to force breadcrumbs to appear on all children of this page no matter how many levels below the homepage they are (for example, if you want breadcrumbs to appear on all children of a top-level campaign page).", verbose_name='Force breadcrumbs on child pages'), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag')), ('categories', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Categories', max_length=100)), ('show_categories', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='list-ul'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.CreateModel( + name='EnforcementActionDisposition', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('final_disposition', models.CharField(blank=True, max_length=150)), + ('final_order_civil_money_penalty', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_date', models.DateField(blank=True, null=True)), + ('dismissal_date', models.DateField(blank=True, null=True)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='enforcement_dispositions', to='v1.enforcementactionpage')), + ('estimated_consumers_entitled_to_relief', models.CharField(blank=True, max_length=30)), + ('final_disposition_type', models.CharField(blank=True, choices=[('Final Order', 'Final Order'), ('Dismissal', 'Dismissal')], max_length=15)), + ('final_order_civil_money_penalty_suspended', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_consumer_redress', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_consumer_redress_suspended', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_disgorgement', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_disgorgement_suspended', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_other_consumer_relief', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ('final_order_other_consumer_relief_suspended', models.DecimalField(decimal_places=2, default=0, max_digits=13)), + ], + ), + migrations.CreateModel( + name='EnforcementActionStatute', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('statute', models.CharField(choices=[('CFPA Deceptive', 'Consumer Financial Protection Act - Deceptive Acts or Practices'), ('CFPA Unfair', 'Consumer Financial Protection Act - Unfair Acts or Practices'), ('CFPA Abusive', 'Consumer Financial Protection Act - Abusive Acts or Practices'), ('CFPA', 'Consumer Financial Protection Act - Other'), ('AMTPA', 'Alternative Mortgage Transaction Parity Act/Regulation D'), ('CLA', 'Consumer Leasing Act/Regulation M'), ('Credit Practice Rules', 'Credit Practices Rule'), ('EFTA/Regulation E', 'Electronic Fund Transfer Act/Regulation E'), ('ECOA/Regulation B', 'Equal Credit Opportunity Act/Regulation B'), ('FCBA', 'Fair Credit Billing Act'), ('FCRA/Regulation V', 'Fair Credit Reporting Act/Regulation V'), ('FDCPA', 'Fair Debt Collection Practices Act/Regulation F'), ('FDIA', 'Federal Deposit Insurance Act/Regulation I'), ('GLBA/Regulation P', 'Gramm-Leach-Bliley Act/Regulation P'), ('HMDA', 'Home Mortgage Disclosure Act/Regulation C'), ('HOEPA', 'Home Ownership and Equity Protection Act'), ('HOPA', 'Home Owners Protection Act'), ('ILSFDA', 'Interstate Land Sales Full Disclosure Act/Regulation J, K, and L'), ('Military Lending Act', 'Military Lending Act'), ('Regulation N (MAP Rule)', 'Mortgage Acts and Practices – Advertising Final Rule (Regulation N)'), ('Regulation O (MARS Rule)', 'Mortgage Assistance Relief Services Rule (Regulation O)'), ('MRAPLA', 'Mortgage Reform and Anti-Predatory Lending Act'), ('RESPA', 'Real Estate Settlement Procedures Act/Regulation X'), ('SMLA', 'S.A.F.E. Mortgage Licensing Act/Regulation H'), ('Telemarketing Sales Rule (TSR)', 'Telemarketing Sales Rule'), ('TILA/Regulation Z', 'Truth in Lending Act/Regulation Z'), ('TISA/Regulation DD', 'Truth in Savings Act/Regulation DD')], max_length=30)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='statutes', to='v1.enforcementactionpage')), + ], + ), + migrations.CreateModel( + name='EnforcementActionProduct', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('product', models.CharField(choices=[('Auto Finance Origination', 'Auto Finance Origination'), ('Auto Finance Servicing', 'Auto Finance Servicing'), ('Business Lending (ECOA)', 'Business Lending (ECOA)'), ('Consumer Reporting Agencies', 'Consumer Reporting Agencies'), ('Consumer Reporting ? User', 'Consumer Reporting - User'), ('Credit Cards', 'Credit Cards'), ('Credit Repair', 'Credit Repair'), ('Debt Collection', 'Debt Collection'), ('Debt Relief', 'Debt Relief'), ('Deposits', 'Deposits'), ('Furnishing', 'Furnishing'), ('Fair Lending', 'Fair Lending'), ('Mortgage Origination', 'Mortgage Origination'), ('Mortgage Servicing', 'Mortgage Servicing'), ('Payments', 'Payments'), ('Prepaid', 'Prepaid'), ('Remittances', 'Remittances'), ('Short Term, Small Dollar', 'Short Term, Small Dollar'), ('Student Loan Origination', 'Student Loan Origination'), ('Student Loan Servicing', 'Student Loan Servicing'), ('Other Consumer Lending', 'Other Consumer Lending'), ('Other Consumer Products (Not Lending)', 'Other Consumer Product (not lending)')], max_length=50)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='v1.enforcementactionpage')), + ], + ), + migrations.CreateModel( + name='EnforcementActionDefendantType', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('defendant_type', models.CharField(blank=True, choices=[('Non-Bank', 'Nonbank'), ('Bank', 'Bank'), ('Individual', 'Individual')], max_length=15)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='defendant_types', to='v1.enforcementactionpage')), + ], + ), + migrations.CreateModel( + name='EnforcementActionAtRisk', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('at_risk_group', models.CharField(choices=[('Fair Lending', 'Fair Lending'), ('Limited English Proficiency', 'Limited English Proficiency'), ('Older Americans', 'Older Americans'), ('Servicemembers', 'Servicemembers'), ('Students', 'Students')], max_length=30)), + ('action', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='at_risk_groups', to='v1.enforcementactionpage')), + ], + ), + migrations.AlterField( + model_name='cfgovpage', + name='language', + field=models.CharField(choices=[('en', 'English'), ('es', 'Spanish'), ('zh', 'Chinese'), ('vi', 'Vietnamese'), ('ko', 'Korean'), ('tl', 'Tagalog'), ('ru', 'Russian'), ('ar', 'Arabic'), ('ht', 'Haitian Creole'), ('zh-Hans', 'Chinese (Simplified)')], default='en', max_length=100), + ), + migrations.AlterField( + model_name='cfgovpage', + name='language', + field=models.CharField(choices=[('en', 'English'), ('es', 'Spanish'), ('vi', 'Vietnamese'), ('ko', 'Korean'), ('tl', 'Tagalog'), ('ru', 'Russian'), ('ar', 'Arabic'), ('ht', 'Haitian Creole'), ('zh-Hans', 'Chinese (Simplified)'), ('zh-Hant', 'Chinese (Traditional)')], default='en', max_length=100), + ), + migrations.AlterField( + model_name='cfgovpage', + name='language', + field=models.CharField(choices=[('ar', 'Arabic'), ('zh-Hans', 'Chinese (Simplified)'), ('zh-Hant', 'Chinese (Traditional)'), ('en', 'English'), ('ht', 'Haitian Creole'), ('ko', 'Korean'), ('ru', 'Russian'), ('es', 'Spanish'), ('tl', 'Tagalog'), ('vi', 'Vietnamese')], default='en', max_length=100), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag')), ('categories', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Categories', max_length=100)), ('show_categories', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='list-ul'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Consumer Advisories', 'Consumer advisories'), ("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('and_filtering', wagtail.blocks.BooleanBlock(default=False, help_text='If checked, related posts will only be pulled in if they match ALL topic tags set on this page. Otherwise, related posts can match any one topic tag.', label='Match all topic tags', required=False)), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.CreateModel( + name='CFGOVContentOwner', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='name')), + ('slug', models.SlugField(allow_unicode=True, max_length=100, unique=True, verbose_name='slug')), + ], + options={ + 'verbose_name': 'Content Owner', + 'verbose_name_plural': 'Content Owners', + }, + ), + migrations.CreateModel( + name='CFGOVOwnedPages', + 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, to='v1.cfgovpage')), + ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owned_pages', to='v1.cfgovcontentowner')), + ], + options={ + 'abstract': False, + }, + ), + migrations.AddField( + model_name='cfgovpage', + name='content_owners', + field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma separated list of internal content owners.Use division acronyms only.', related_name='cfgov_content_owners', through='v1.CFGOVOwnedPages', to='v1.CFGOVContentOwner', verbose_name='Content Owners'), + ), + migrations.AlterField( + model_name='cfgovauthoredpages', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.CreateModel( + name='CFGOVRendition', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('filter_spec', models.CharField(db_index=True, max_length=255)), + ('file', models.ImageField(height_field='height', upload_to=wagtail.images.models.get_rendition_upload_to, width_field='width')), + ('width', models.IntegerField(editable=False)), + ('height', models.IntegerField(editable=False)), + ('focal_point_key', models.CharField(blank=True, default='', editable=False, max_length=16)), + ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='renditions', to='v1.cfgovimage')), + ], + options={ + 'unique_together': {('image', 'filter_spec', 'focal_point_key')}, + }, + ), + migrations.AlterField( + model_name='portalcategory', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.AlterField( + model_name='portaltopic', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.AlterField( + model_name='resource', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Consumer Advisories', 'Consumer advisories'), ("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('tag_filtering', wagtail.blocks.ChoiceBlock(choices=[('any', 'Include related posts that match ANY topic tags on this page'), ('all', 'Include related posts that match ALL topic tags on this page'), ('ignore', 'IGNORE topic tags when selecting related posts')])), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Stay informed', required=False)), ('default_heading', wagtail.blocks.BooleanBlock(default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', label='Default heading style', required=False)), ('text', wagtail.blocks.CharBlock(help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.', required=False)), ('gd_code', wagtail.blocks.CharBlock(help_text='Code for the topic (i.e., mailing list) you want people who submit this form to subscribe to. Format: USCFPB_###', label='GovDelivery code', required=False)), ('disclaimer_page', wagtail.blocks.PageChooserBlock(help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', label='Privacy Act statement', required=False))])), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.CreateModel( + name='ResearchHubPage', + fields=[ + ('sublandingfilterablepage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.sublandingfilterablepage')), + ], + options={ + 'abstract': False, + }, + bases=('v1.sublandingfilterablepage',), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Consumer Advisories', 'Consumer advisories'), ("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('tag_filtering', wagtail.blocks.ChoiceBlock(choices=[('any', 'Include related posts that match ANY topic tags on this page'), ('all', 'Include related posts that match ALL topic tags on this page'), ('ignore', 'IGNORE topic tags when selecting related posts')])), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=None), + ), + migrations.CreateModel( + name='EmailSignUp', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('topic', models.CharField(blank=True, max_length=255, null=True, verbose_name='Topic name (internal only)')), + ('code', models.TextField(blank=True, help_text='GovDelivery Code (USCFPB_###) for the list people who submit the form will sign up for. Provide either this or the signup URL, but not both.', null=True, verbose_name='GovDelivery Code')), + ('url', models.URLField(blank=True, help_text='URL for the GovDelivery signup page people will be linked to in order to signup. Provide either this or the GovDelivery code, but not both.', null=True, verbose_name='GovDelivery URL')), + ('heading', models.TextField(blank=True, default='Stay informed')), + ('default_heading', models.BooleanField(blank=True, default=True, help_text='If selected, heading will be styled as an H5 with green top rule. Deselect to style header as H3.', null=True, verbose_name='Default heading style')), + ('text', wagtail.fields.RichTextField(blank=True, help_text='Write a sentence or two about what kinds of emails the user is signing up for, how frequently they will be sent, etc.')), + ('disclaimer_page', models.ForeignKey(blank=True, help_text='Choose the page that the "See Privacy Act statement" link should go to. If in doubt, use "Generic Email Sign-Up Privacy Act Statement".', null=True, on_delete=django.db.models.deletion.PROTECT, to='wagtailcore.page', verbose_name='Privacy Act statement')), + ], + bases=(wagtail.search.index.Indexed, models.Model), + ), + migrations.CreateModel( + name='EventPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('body', wagtail.fields.RichTextField(blank=True, verbose_name='Subheading')), + ('archive_body', wagtail.fields.RichTextField(blank=True)), + ('live_body', wagtail.fields.RichTextField(blank=True)), + ('persistent_body', wagtail.fields.StreamField([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText'))], blank=True, use_json_field=True)), + ('start_dt', models.DateTimeField(verbose_name='Start')), + ('end_dt', models.DateTimeField(blank=True, null=True, verbose_name='End')), + ('future_body', wagtail.fields.RichTextField(blank=True)), + ('flickr_url', models.URLField(blank=True, verbose_name='Flickr URL')), + ('live_stream_availability', models.BooleanField(blank=True, default=False, help_text='Check if this event will be streamed live. This causes the event page to show the parts necessary for live streaming.', verbose_name='Streaming?')), + ('live_stream_date', models.DateTimeField(blank=True, help_text='Enter the date and time that the page should switch from showing the venue image to showing the live video feed. This is typically 15 minutes prior to the event start time.', null=True, verbose_name='Go Live Date')), + ('venue_coords', models.CharField(blank=True, max_length=100)), + ('venue_name', models.CharField(blank=True, max_length=100)), + ('venue_street', models.CharField(blank=True, max_length=100)), + ('venue_suite', models.CharField(blank=True, max_length=100)), + ('venue_city', models.CharField(blank=True, max_length=100)), + ('venue_state', localflavor.us.models.USStateField(blank=True, max_length=2)), + ('venue_zipcode', models.CharField(blank=True, max_length=12)), + ('venue_image_type', models.CharField(choices=[('map', 'Map'), ('image', 'Image (selected below)'), ('none', 'No map or image')], default='map', help_text='If "Image" is chosen here, you must select the image you want below. It should be sized to 1416x796.', max_length=8)), + ('post_event_image_type', models.CharField(choices=[('placeholder', 'Placeholder image'), ('image', 'Unique image (selected below)')], default='placeholder', help_text='Choose what to display after an event concludes. This will be overridden by embedded video if the "YouTube video ID (archive)" field on the previous tab is populated. If "Unique image" is chosen here, you must select the image you want below. It should be sized to 1416x796.', max_length=16, verbose_name='Post-event image type')), + ('agenda_items', wagtail.fields.StreamField([('item', wagtail.blocks.StructBlock([('start_time', wagtail.blocks.TimeBlock(label='Start', required=False)), ('end_time', wagtail.blocks.TimeBlock(label='End', required=False)), ('description', wagtail.blocks.CharBlock(max_length=100, required=False)), ('location', wagtail.blocks.CharBlock(max_length=100, required=False)), ('speakers', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=False)), ('url', wagtail.blocks.URLBlock(required=False))], icon='user', required=False)))]))], blank=True, use_json_field=True)), + ('archive_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image')), + ('post_event_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage')), + ('speech_transcript', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtaildocs.document')), + ('venue_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='v1.cfgovimage')), + ('video_transcript', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtaildocs.document')), + ('archive_video_id', models.CharField(blank=True, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', max_length=11, null=True, validators=[django.core.validators.RegexValidator(regex='^[\\w-]{11}$')], verbose_name='YouTube video ID (archive)')), + ('live_video_id', models.CharField(blank=True, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', max_length=11, null=True, validators=[django.core.validators.RegexValidator(regex='^[\\w-]{11}$')], verbose_name='YouTube video ID (live)')), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.CreateModel( + name='LandingPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))])), ('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.AlterField( + model_name='cfgovpage', + name='language', + field=models.CharField(choices=[('ar', 'Arabic'), ('zh-Hant', 'Chinese (Traditional)'), ('en', 'English'), ('ht', 'Haitian Creole'), ('ko', 'Korean'), ('ru', 'Russian'), ('es', 'Spanish'), ('tl', 'Tagalog'), ('vi', 'Vietnamese')], default='en', max_length=100), + ), + migrations.AddField( + model_name='cfgovpage', + name='english_page', + field=models.ForeignKey(blank=True, help_text='Optionally select the English version of this page (non-English pages only)', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='non_english_pages', to='wagtailcore.page'), + ), + migrations.CreateModel( + name='CFGOVPageCategory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(choices=[('Administrative adjudication docket', (('administrative-adjudication', 'Administrative adjudication'), ('stipulation-and-constent-order', 'Stipulation and consent order'))), ('Amicus Brief', (('us-supreme-court', 'U.S. Supreme Court'), ('fed-circuit-court', 'Federal Circuit Court'), ('fed-district-court', 'Federal District Court'), ('state-court', 'State Court'))), ('Blog', (('at-the-cfpb', 'At the CFPB'), ('directors-notebook', "Director's notebook"), ('policy-compliance', 'Policy and compliance'), ('data-research-reports', 'Data, research, and reports'), ('info-for-consumers', 'Info for consumers'))), ('Consumer Reporting Companies', (('nationwide', 'Nationwide'), ('employment-screening', 'Employment screening'), ('tenant-screening', 'Tenant screening'), ('check-bank-screening', 'Check and bank account screening'), ('personal-property-insurance', 'Personal property insurance'), ('medical', 'Medical'), ('low-income-and-subprime', 'Low-income and subprime'), ('supplementary-reports', 'Supplementary reports'), ('utilities', 'Utilities'), ('retail', 'Retail'), ('gaming', 'Gaming'))), ('Enforcement Action', (('administrative-proceeding', 'Administrative Proceeding'), ('civil-action', 'Civil Action'))), ('Final rule', (('interim-final-rule', 'Interim final rule'), ('final-rule', 'Final rule'))), ('FOIA Frequently Requested Record', (('report', 'Report'), ('log', 'Log'), ('record', 'Record'))), ('Newsroom', (('consumer-advisories', 'Consumer advisories'), ('directors-statement', "Director's statement"), ('op-ed', 'Op-ed'), ('press-release', 'Press release'), ('speech', 'Speech'), ('testimony', 'Testimony'))), ('Notice and Opportunity for Comment', (('notice-proposed-rule', 'Advance notice of proposed rulemaking'), ('proposed-rule', 'Proposed rule'), ('interim-final-rule-2', 'Interim final rule'), ('request-comment-info', 'Request for comment or information'), ('proposed-policy', 'Proposed policy'), ('intent-preempt-determ', 'Intent to make preemption determination'), ('info-collect-activity', 'Information collection activities'), ('notice-privacy-act', 'Notice related to Privacy Act'))), ('Research Hub', (('research-publication', 'Office of Research Publication'),)), ('Research Report', (('consumer-complaint', 'Consumer complaint'), ('super-highlight', 'Supervisory Highlights'), ('data-point', 'Data point'), ('industry-markets', 'Industry and markets'), ('consumer-edu-empower', 'Consumer education and empowerment'), ('to-congress', 'To Congress'), ('data-spotlight', 'Data spotlight'), ('issue-spotlight', 'Issue spotlight'))), ('Rule Under Development', (('notice-proposed-rule-2', 'Advance notice of proposed rulemaking'), ('proposed-rule-2', 'Proposed rule'))), ('Story', (('auto-loans', 'Auto loans'), ('bank-accts-services', 'Bank accounts and services'), ('credit-cards', 'Credit cards'), ('credit-reports-scores', 'Credit reports and scores'), ('debt-collection', 'Debt collection'), ('money-transfers', 'Money transfers'), ('mortgages', 'Mortgages'), ('payday-loans', 'Payday loans'), ('prepaid-cards', 'Prepaid cards'), ('student-loans', 'Student loans')))], max_length=255)), + ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='categories', to='v1.cfgovpage')), + ], + options={ + 'ordering': ['name'], + 'abstract': False, + }, + ), + migrations.CreateModel( + name='DocumentDetailPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('crc_table', wagtail.blocks.StructBlock([('website', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link'])), ('phone', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link'])), ('mailing_address', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link']))])), ('case_docket_table', wagtail.blocks.StructBlock([('events', wagtail.blocks.ListBlock(v1.atomic_elements.tables.CaseDocketEvent, collapsed=True, min_num=1))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.CreateModel( + name='StoryPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('jumbo_hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_50_50', wagtail.blocks.BooleanBlock(help_text='Optional. Set both the hero text and image to 50% width, prevent the background color from appearing in the left/right margins of the hero, and also add a border to the hero area. Requires the uploaded large image to be 755px x 575px.', label='50/50 layout', required=False))])), ('features', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='SublandingPage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For complete guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('body', wagtail.blocks.RichTextBlock(help_text='Character counts (including spaces) at largest breakpoint:', label='Sub-heading', required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='When saving illustrations, use a transparent background. See image dimension guidelines.', label='Large image', required=False)), ('small_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional. Provides an alternate image for small displays when using a photo or bleeding hero. Not required for the standard illustration. See image dimension guidelines.', required=False)), ('background_color', wagtail.blocks.CharBlock(help_text='Specify a hex value (including the # sign) from our official color palette.', required=False)), ('is_white_text', wagtail.blocks.BooleanBlock(help_text='Optional. Turns the hero text white. Useful if using a dark background color or background image.', label='White text', required=False)), ('is_overlay', wagtail.blocks.BooleanBlock(help_text='Optional. Uses the large image as a background under the entire hero, creating the "Photo" style of hero (see Design System for details). When using this option, make sure to specify a background color (above) for the left/right margins that appear when screens are wider than 1200px and for the text section when the photo and text stack at mobile sizes.', label='Photo', required=False)), ('is_bleeding', wagtail.blocks.BooleanBlock(help_text='Optional. Select if you want the illustration to bleed vertically off the top and bottom of the hero space.', label='Bleed', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))])), ('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('post_preview_snapshot', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='How many posts do you want to show?', label='Limit')), ('post_date_description', wagtail.blocks.CharBlock(default='Published'))])), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))]))], blank=True, use_json_field=True)), + ('sidebar_breakout', wagtail.fields.StreamField([('slug', wagtail.blocks.CharBlock(icon='title')), ('heading', wagtail.blocks.CharBlock(icon='title')), ('paragraph', wagtail.blocks.RichTextBlock(icon='edit')), ('breakout_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('is_round', wagtail.blocks.BooleanBlock(default=True, label='Round?', required=False)), ('icon', wagtail.blocks.CharBlock(help_text='Enter icon class name.')), ('heading', wagtail.blocks.CharBlock(label='Introduction Heading', required=False)), ('body', wagtail.blocks.TextBlock(label='Introduction Body', required=False))], heading='Breakout Image', icon='image')), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Consumer Advisories', 'Consumer advisories'), ("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('tag_filtering', wagtail.blocks.ChoiceBlock(choices=[('any', 'Include related posts that match ANY topic tags on this page'), ('all', 'Include related posts that match ALL topic tags on this page'), ('ignore', 'IGNORE topic tags when selecting related posts')])), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('job_listing_list', wagtail.blocks.StructBlock([('more_jobs_page', wagtail.blocks.PageChooserBlock(help_text='Link to full list of jobs'))]))], blank=True, use_json_field=True)), + ('portal_topic', models.ForeignKey(blank=True, help_text='Select a topic if this is a MONEY TOPICS portal page.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='portal_pages', to='v1.portaltopic')), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.CreateModel( + name='LearnPage', + fields=[ + ('abstractfilterpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.abstractfilterpage')), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('audio_player', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('audio_file', wagtailmedia.blocks.AbstractMediaChooserBlock(help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.')), ('additional_details', wagtail.blocks.RichTextBlock(help_text='If you have anything you want to appear below the audio player, such as a download link, put it in this field.', required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))])), ('contact_us_table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('rows', wagtail.blocks.ListBlock(v1.atomic_elements.tables.ContactUsRow, collapsed=True, min_num=1))]))], blank=True, use_json_field=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.abstractfilterpage',), + ), + migrations.AlterField( + model_name='cfgovpage', + name='language', + field=models.CharField(choices=[('ar', 'Arabic'), ('zh-Hant', 'Chinese'), ('en', 'English'), ('ht', 'Haitian Creole'), ('ko', 'Korean'), ('ru', 'Russian'), ('es', 'Spanish'), ('tl', 'Tagalog'), ('vi', 'Vietnamese')], default='en', max_length=100), + ), + migrations.CreateModel( + name='BrowsePage', + fields=[ + ('cfgovpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='v1.cfgovpage')), + ('header', wagtail.fields.StreamField([('text_introduction', wagtail.blocks.StructBlock([('eyebrow', wagtail.blocks.CharBlock(help_text='Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.', label='Pre-heading', required=False)), ('heading', wagtail.blocks.CharBlock(required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False)), ('has_rule', wagtail.blocks.BooleanBlock(help_text='Check this to add a horizontal rule line to bottom of text introduction.', label='Has bottom rule', required=False))])), ('featured_content', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('body', wagtail.blocks.TextBlock(help_text='Line breaks will be ignored.')), ('post', wagtail.blocks.PageChooserBlock(required=False)), ('show_post_link', wagtail.blocks.BooleanBlock(label='Render post link?', required=False)), ('post_link_text', wagtail.blocks.CharBlock(required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), label='Additional Links')), ('video', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))], required=False))])), ('notification', wagtail.blocks.StructBlock([('type', wagtail.blocks.ChoiceBlock(choices=[('information', 'Information'), ('warning', 'Warning')])), ('message', wagtail.blocks.CharBlock(help_text='The main notification message to display.', required=True)), ('explanation', wagtail.blocks.TextBlock(help_text='Explanation text appears below the message in smaller type.', required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), help_text='Links appear on their own lines below the explanation.', required=False))]))], blank=True, use_json_field=True)), + ('content', wagtail.fields.StreamField([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))])), ('simple_chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subtitle', wagtail.blocks.TextBlock(required=False)), ('description', wagtail.blocks.TextBlock(help_text='Accessible description of the chart content', required=True)), ('figure_number', wagtail.blocks.CharBlock(required=False)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')])), ('data_source', wagtail.blocks.TextBlock(help_text="URL of the chart's data source or an array of JSON data", required=True, rows=2)), ('data_series', wagtail.blocks.TextBlock(help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', required=False)), ('show_all_series_by_default', wagtail.blocks.BooleanBlock(default=True, help_text='Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ', required=False)), ('x_axis_source', wagtail.blocks.TextBlock(help_text='The column header (CSV), key or data array (JSON) to include as the source of x-axis values.', required=False)), ('transform', wagtail.blocks.CharBlock(help_text='Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart', required=False)), ('x_axis_label', wagtail.blocks.CharBlock(required=False)), ('y_axis_label', wagtail.blocks.CharBlock(required=False)), ('filters', wagtail.blocks.TextBlock(help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', required=False)), ('style_overrides', wagtail.blocks.TextBlock(help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', required=False)), ('projected_months', wagtail.blocks.IntegerBlock(blank=True, help_text='A number to determine how many months of the data are projected values', max_value=12, min_value=0, null=True, required=False)), ('source_credits', wagtail.blocks.CharBlock(help_text='Attribution for the data source', required=False)), ('date_published', wagtail.blocks.CharBlock(help_text='When the underlying data was published', required=False)), ('download_text', wagtail.blocks.CharBlock(help_text='Custom text for the chart download field. Required to display a download link.', required=False)), ('download_file', wagtail.blocks.CharBlock(help_text='Location of a file to download, if different from the data source', required=False)), ('notes', wagtail.blocks.TextBlock(help_text='General chart information', required=False))])), ('expandable_group', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.', required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('is_accordion', wagtail.blocks.BooleanBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of expandable group.', required=False)), ('is_faq', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add FAQ schema markup to expandables.', label='Uses FAQ schema', required=False)), ('expandables', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('is_bordered', wagtail.blocks.BooleanBlock(required=False)), ('is_midtone', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))], blank=True))])), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))])), ('video_player', wagtail.blocks.StructBlock([('video_id', wagtail.blocks.RegexBlock(error_messages={'invalid': 'The YouTube video ID is in the wrong format.'}, help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', label='YouTube video ID', regex='^[\\w-]{11}$', required=False)), ('thumbnail_image', wagtail.images.blocks.ImageChooserBlock(help_text='Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.', required=False))])), ('snippet_list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('body', wagtail.blocks.RichTextBlock(required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line above this block.', required=False)), ('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('actions_column_width', wagtail.blocks.ChoiceBlock(choices=[('70', '70%'), ('66', '66%'), ('60', '60%'), ('50', '50%'), ('40', '40%'), ('33', '33%'), ('30', '30%')], help_text='Choose the width in % that you wish to set the Actions column in a resource list.', label='Width of "Actions" column', required=False)), ('show_thumbnails', wagtail.blocks.BooleanBlock(help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", required=False)), ('actions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('link_label', wagtail.blocks.CharBlock(help_text='E.g., "Download" or "Order free prints"')), ('snippet_field', wagtail.blocks.ChoiceBlock(choices=[('related_file', 'Related file'), ('alternate_file', 'Alternate file'), ('link', 'Link'), ('alternate_link', 'Alternate link')], help_text='The field that the action link should point to'))]))), ('tags', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Tag'), help_text='Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.'))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('chart_block', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Bar | % y-axis values'), ('line', 'Line | millions/billions y-axis values'), ('line-index', 'Line-Index | integer y-axis values'), ('tile_map', 'Tile Map | grid-like USA map')])), ('color_scheme', wagtail.blocks.ChoiceBlock(choices=[('blue', 'Blue'), ('gold', 'Gold'), ('green', 'Green'), ('navy', 'Navy'), ('neutral', 'Neutral'), ('purple', 'Purple'), ('teal', 'Teal')], help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', required=False)), ('data_source', wagtail.blocks.CharBlock(help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', required=True)), ('date_published', wagtail.blocks.DateBlock(help_text='Automatically generated when CCT cron job runs')), ('description', wagtail.blocks.CharBlock(help_text='Briefly summarize the chart for visually impaired users.', required=True)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of chart block.', required=False)), ('last_updated_projected_data', wagtail.blocks.DateBlock(help_text='Month of latest entry in dataset')), ('metadata', wagtail.blocks.CharBlock(help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', required=False)), ('note', wagtail.blocks.CharBlock(help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', required=False)), ('y_axis_label', wagtail.blocks.CharBlock(help_text='Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!', required=False))])), ('mortgage_chart_block', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('title', wagtail.blocks.CharBlock(form_classname='title', required=True)), ('description', wagtail.blocks.CharBlock(help_text='Chart summary for visually impaired users.', required=False)), ('note', wagtail.blocks.CharBlock(help_text='Text for "Note" section of footnotes.', required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of chart block.', required=False))])), ('mortgage_map_block', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('title', wagtail.blocks.CharBlock(form_classname='title', required=True)), ('description', wagtail.blocks.CharBlock(help_text='Chart summary for visually impaired users.', required=False)), ('note', wagtail.blocks.CharBlock(help_text='Text for "Note" section of footnotes.', required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of chart block.', required=False))])), ('mortgage_downloads_block', wagtail.blocks.StructBlock([('show_archives', wagtail.blocks.BooleanBlock(default=False, help_text='Check this box to allow the archival section to display. No section will appear if there are no archival downloads.', required=False))])), ('data_snapshot', wagtail.blocks.StructBlock([('market_key', wagtail.blocks.CharBlock(help_text='Market identifier, e.g. AUT', max_length=20, required=True)), ('num_originations', wagtail.blocks.CharBlock(help_text='Number of originations, e.g. 1.2 million', max_length=20)), ('value_originations', wagtail.blocks.CharBlock(help_text='Total dollar value of originations, e.g. $3.4 billion', max_length=20)), ('year_over_year_change', wagtail.blocks.CharBlock(help_text='Percentage change, e.g. 5.6% increase', max_length=20)), ('last_updated_projected_data', wagtail.blocks.DateBlock(help_text='Month of latest entry in dataset')), ('num_originations_text', wagtail.blocks.CharBlock(help_text='Descriptive sentence, e.g. Auto loans originated', max_length=100)), ('value_originations_text', wagtail.blocks.CharBlock(help_text='Descriptive sentence, e.g. Dollar volume of new loans', max_length=100)), ('year_over_year_change_text', wagtail.blocks.CharBlock(help_text='Descriptive sentence, e.g. In year-over-year originations', max_length=100)), ('inquiry_month', wagtail.blocks.DateBlock(help_text='Month of latest entry in dataset for inquiry data', max_length=20, required=False)), ('inquiry_year_over_year_change', wagtail.blocks.CharBlock(help_text='Percentage change, e.g. 5.6% increase', max_length=20, required=False)), ('inquiry_year_over_year_change_text', wagtail.blocks.CharBlock(help_text='Descriptive sentence, e.g. In year-over-year inquiries', max_length=100, required=False)), ('tightness_month', wagtail.blocks.DateBlock(help_text='Month of latest entry in dataset for credit tightness data', max_length=20, required=False)), ('tightness_year_over_year_change', wagtail.blocks.CharBlock(help_text='Percentage change, e.g. 5.6% increase', max_length=20, required=False)), ('tightness_year_over_year_change_text', wagtail.blocks.CharBlock(help_text='Descriptive sentence, e.g. In year-over-year credit tightness', max_length=100, required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False))])), ('job_listing_table', jobmanager.blocks.JobListingTable()), ('yes_checklist', wagtail.blocks.StructBlock([('checklist', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('item', wagtail.blocks.CharBlock(help_text='Short description for a checkbox item')), ('details', wagtail.blocks.RichTextBlock(help_text='Deeper explanation of the item', required=False))])))])), ('raf_tool', wagtail.blocks.StructBlock([('county_threshold', wagtail.blocks.IntegerBlock(help_text='Optional: Add a number to determine how many results trigger display of county dropdown for a state.', required=False))])), ('faq_group', wagtail.blocks.StructBlock([('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of FAQ group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between FAQ items.', label='Show rule lines between items', required=False)), ('question_tag', wagtail.blocks.ChoiceBlock(choices=[('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], help_text='HTML tag for questions.')), ('faq_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('anchor_tag', wagtail.blocks.CharBlock(blank=True, help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", max_length=500, required=False)), ('question', wagtail.blocks.CharBlock(max_length=500)), ('answer', wagtail.blocks.StreamBlock([('full_width_text', wagtail.blocks.StreamBlock([('content', wagtail.blocks.RichTextBlock(icon='edit')), ('content_with_anchor', wagtail.blocks.StructBlock([('content_block', wagtail.blocks.RichTextBlock()), ('anchor_link', wagtail.blocks.StructBlock([('link_id', wagtail.blocks.CharBlock(help_text='\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ', label='ID for this content block', required=False))]))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('image_width', wagtail.blocks.ChoiceBlock(choices=[('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')])), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('right', 'right'), ('left', 'left')], help_text='Does not apply if the image is full-width')), ('text', wagtail.blocks.RichTextBlock(label='Caption', required=False)), ('is_bottom_rule', wagtail.blocks.BooleanBlock(default=True, help_text='Check to add a horizontal rule line to bottom of inset.', label='Has bottom rule line', required=False))])), ('table', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('options', wagtail.blocks.MultipleChoiceBlock(choices=[('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], required=False)), ('data', wagtail.contrib.typed_table_block.blocks.TypedTableBlock([('text', wagtail.blocks.CharBlock()), ('numeric', wagtail.blocks.FloatBlock()), ('rich_text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(required=False)), ('is_large', wagtail.blocks.BooleanBlock(required=False))])), ('cta', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', v1.blocks.HeadingTextBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', v1.blocks.HeadingIconBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include sharing links?', required=False)), ('share_blurb', wagtail.blocks.CharBlock(help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False))]))]))]))]), label='FAQ items'))]))], blank=True, use_json_field=True)), + ('secondary_nav_exclude_sibling_pages', models.BooleanField(default=False, help_text="Don't show siblings of this page in the left navigation.")), + ('share_and_print', models.BooleanField(default=False, help_text='Include share and print buttons above page content.')), + ('navigation_label', models.CharField(blank=True, help_text='Optional short label for left navigation.', max_length=100, null=True)), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.AlterField( + model_name='cfgovpage', + name='sidefoot', + field=wagtail.fields.StreamField([('call_to_action', wagtail.blocks.StructBlock([('slug_text', wagtail.blocks.CharBlock(required=False)), ('paragraph_text', wagtail.blocks.RichTextBlock(required=False)), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('size', wagtail.blocks.ChoiceBlock(choices=[('regular', 'Regular'), ('large', 'Large Primary')]))]))])), ('related_links', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(required=False)), ('paragraph', wagtail.blocks.RichTextBlock(required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))])), ('related_posts', wagtail.blocks.StructBlock([('limit', wagtail.blocks.CharBlock(default='3', help_text='This limit applies to EACH TYPE of post this module retrieves, not the total number of retrieved posts.')), ('show_heading', wagtail.blocks.BooleanBlock(default=True, help_text='This toggles the heading and icon for the related types.', label='Show Heading and Icon?', required=False)), ('header_title', wagtail.blocks.CharBlock(default='Further reading', label='Slug Title')), ('relate_posts', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Blog Posts', required=False)), ('relate_newsroom', wagtail.blocks.BooleanBlock(default=True, editable=False, label='Newsroom', required=False)), ('relate_events', wagtail.blocks.BooleanBlock(default=True, label='Events', required=False)), ('specific_categories', wagtail.blocks.ListBlock(wagtail.blocks.ChoiceBlock(choices=[('Blog', (('At the CFPB', 'At the CFPB'), ("Director's notebook", "Director's notebook"), ('Policy & Compliance', 'Policy and compliance'), ('Data, Research & Reports', 'Data, research, and reports'), ('Info for Consumers', 'Info for consumers'))), ('Newsroom', (('Consumer Advisories', 'Consumer advisories'), ("Director's Statement", "Director's statement"), ('Op-Ed', 'Op-ed'), ('Press Release', 'Press release'), ('Speech', 'Speech'), ('Testimony', 'Testimony')))], required=False), required=False)), ('tag_filtering', wagtail.blocks.ChoiceBlock(choices=[('any', 'Include related posts that match ANY topic tags on this page'), ('all', 'Include related posts that match ALL topic tags on this page'), ('ignore', 'IGNORE topic tags when selecting related posts')])), ('alternate_view_more_url', wagtail.blocks.CharBlock(help_text='By default, the "View more" link will go to the Activity Log, filtered based on the above parameters. Enter a URL in this field to override that link destination.', label='Alternate "View more" URL', required=False))])), ('related_metadata', wagtail.blocks.StructBlock([('slug', wagtail.blocks.CharBlock(max_length=100)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('blob', wagtail.blocks.RichTextBlock())], icon='pilcrow')), ('list', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))])))], icon='list-ul')), ('date', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=100)), ('date', wagtail.blocks.DateBlock())], icon='date')), ('topics', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Topics', max_length=100)), ('show_topics', wagtail.blocks.BooleanBlock(default=True, required=False))], icon='tag'))])), ('is_half_width', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('sidebar_contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('v1.Contact')), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Add a horizontal rule line to top of contact block.', required=False))])), ('rss_feed', v1.atomic_elements.molecules.RSSFeed()), ('social_media', wagtail.blocks.StructBlock([('is_share_view', wagtail.blocks.BooleanBlock(default=True, help_text='If unchecked, social media icons will link users to official CFPB accounts. Do not fill in any further fields.', label='Desired action: share this page', required=False)), ('blurb', wagtail.blocks.CharBlock(default="Look what I found on the CFPB's site!", help_text='Sets the tweet text, email subject line, and LinkedIn post text.', required=False)), ('twitter_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for Twitter shares. If blank, will default to value of blurb field above.', max_length=100, required=False)), ('twitter_related', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of accounts related to the content of the shared URL. Do not enter the @ symbol. If blank, it will default to just "cfpb".', required=False)), ('twitter_hashtags', wagtail.blocks.CharBlock(help_text='(Optional) A comma-separated list of hashtags to be appended to default tweet text.', required=False)), ('twitter_lang', wagtail.blocks.CharBlock(help_text='(Optional) Loads text components in the specified language, if other than English. E.g., use "es" for Spanish. See https://dev.twitter.com/web/overview/languages for a list of supported language codes.', required=False)), ('email_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom subject for email shares. If blank, will default to value of blurb field above.', required=False)), ('email_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for email shares. If blank, will default to "Check out this page from the CFPB".', required=False)), ('email_signature', wagtail.blocks.CharBlock(help_text='(Optional) Adds a custom signature line to email shares. ', required=False)), ('linkedin_title', wagtail.blocks.CharBlock(help_text='(Optional) Custom title for LinkedIn shares. If blank, will default to value of blurb field above.', required=False)), ('linkedin_text', wagtail.blocks.CharBlock(help_text='(Optional) Custom text for LinkedIn shares.', required=False))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=True), + ), + ] diff --git a/cfgov/v1/migrations/0236_case_docket_table.py b/cfgov/v1/migrations/0236_case_docket_table.py deleted file mode 100644 index 021748b2a81..00000000000 --- a/cfgov/v1/migrations/0236_case_docket_table.py +++ /dev/null @@ -1,1299 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-05 19:32 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0001_squashed_0235_add_use_json_field_to_streamfields"), - ] - - operations = [ - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ( - "bleed", - "Bleed into left/right margins", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ( - "case_docket_table", - wagtail.blocks.StructBlock( - [ - ( - "events", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.CaseDocketEvent, - min_num=1, - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0237_remove_content_image_bleed_option.py b/cfgov/v1/migrations/0237_remove_content_image_bleed_option.py deleted file mode 100644 index e677872ed21..00000000000 --- a/cfgov/v1/migrations/0237_remove_content_image_bleed_option.py +++ /dev/null @@ -1,14188 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-09 22:12 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks -import wagtail.snippets.blocks - -import wagtailmedia.blocks - -import jobmanager.blocks -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0236_case_docket_table"), - ] - - operations = [ - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar | % y-axis values"), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ("job_listing_table", jobmanager.blocks.JobListingTable()), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ( - "case_docket_table", - wagtail.blocks.StructBlock( - [ - ( - "events", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.CaseDocketEvent, - min_num=1, - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="eventpage", - name="persistent_body", - field=wagtail.fields.StreamField( - [ - ("content", wagtail.blocks.RichTextBlock(icon="edit")), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock(required=False), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "contact_us_table", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "rows", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.ContactUsRow, - collapsed=True, - min_num=1, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "order_by", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "-date_published", - "Date Published", - ), - ("_score", "Relevance"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0238_collapse_oaa_table.py b/cfgov/v1/migrations/0238_collapse_oaa_table.py deleted file mode 100644 index 6ead5436a1e..00000000000 --- a/cfgov/v1/migrations/0238_collapse_oaa_table.py +++ /dev/null @@ -1,1296 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-11 13:09 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0237_remove_content_image_bleed_option"), - ] - - operations = [ - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ( - "case_docket_table", - wagtail.blocks.StructBlock( - [ - ( - "events", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.CaseDocketEvent, - collapsed=True, - min_num=1, - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0239_field_cleanup.py b/cfgov/v1/migrations/0239_field_cleanup.py deleted file mode 100644 index a476a9d2b79..00000000000 --- a/cfgov/v1/migrations/0239_field_cleanup.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-15 13:00 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('v1', '0238_collapse_oaa_table'), - ] - - operations = [ - migrations.RemoveField( - model_name='abstractfilterpage', - name='comments_close_by', - ), - migrations.RemoveField( - model_name='abstractfilterpage', - name='date_filed', - ), - ] diff --git a/cfgov/v1/migrations/0240_filterable_list_sort.py b/cfgov/v1/migrations/0240_filterable_list_sort.py deleted file mode 100644 index e22e90d1667..00000000000 --- a/cfgov/v1/migrations/0240_filterable_list_sort.py +++ /dev/null @@ -1,1151 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-15 17:45 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0239_field_cleanup"), - ] - - operations = [ - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "output_5050", - wagtail.blocks.BooleanBlock( - default=False, - label="Render preview items as 50-50s", - required=False, - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add links to post preview images and headings in filterable list results", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0241_remove_filterable_5050.py b/cfgov/v1/migrations/0241_remove_filterable_5050.py deleted file mode 100644 index 014f7b18e6a..00000000000 --- a/cfgov/v1/migrations/0241_remove_filterable_5050.py +++ /dev/null @@ -1,1119 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-17 21:10 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0240_filterable_list_sort"), - ] - - operations = [ - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topic_filtering", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "no_filter", - "Don't filter topics", - ), - ( - "sort_alphabetically", - "Filter topics, sort topic list alphabetically", - ), - ( - "sort_by_frequency", - "Filter topics, sort topic list by number of results", - ), - ], - help_text='Whether to include a "Topics" filter in the filter controls', - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0242_filterable_list_topics.py b/cfgov/v1/migrations/0242_filterable_list_topics.py deleted file mode 100644 index 3c9d74bde6d..00000000000 --- a/cfgov/v1/migrations/0242_filterable_list_topics.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-16 17:20 - -from django.db import migrations - -from v1.util.migrations import migrate_page_types_and_fields - - -def migrate(apps, schema_editor): - migrate_page_types_and_fields( - apps, - [ - ("v1", "BrowseFilterablePage", "content", "filter_controls"), - ("v1", "SublandingFilterablePage", "content", "filter_controls"), - ], - migrate_filterable_list, - ) - - -def migrate_filterable_list(page_or_revision, data): - data["topics"] = data.pop("topic_filtering", None) != "no_filter" - return data - - -class Migration(migrations.Migration): - dependencies = [ - ( - "wagtailcore", - "0075_populate_latest_revision_and_revision_object_str", - ), - ("v1", "0241_remove_filterable_5050"), - ] - - operations = [ - migrations.RunPython(migrate, elidable=True), - ] diff --git a/cfgov/v1/migrations/0243_filterable_list_topics.py b/cfgov/v1/migrations/0243_filterable_list_topics.py deleted file mode 100644 index d63d4265403..00000000000 --- a/cfgov/v1/migrations/0243_filterable_list_topics.py +++ /dev/null @@ -1,1095 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-18 15:03 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0242_filterable_list_topics"), - ] - - operations = [ - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - label="Filter by Topics", - required=False, - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "no_posts_message", - wagtail.blocks.CharBlock( - help_text='Message for the notification that will be displayed instead of filter controls if there are no posts to filter.', - required=False, - ), - ), - ( - "no_posts_explanation", - wagtail.blocks.CharBlock( - help_text="Additional explanation for the notification that will be displayed if there are no posts to filter.", - required=False, - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - help_text="Strongly encouraged to help users understand the action that the date of the post is linked to, i.e. published, issued, released.", - label="Date stamp descriptor", - required=False, - ), - ), - ( - "title", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - label="Filter by keyword", - required=False, - ), - ), - ( - "categories", - wagtail.blocks.StructBlock( - [ - ( - "filter_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - label="Filter by Category", - required=False, - ), - ), - ( - "show_preview_categories", - wagtail.blocks.BooleanBlock( - default=True, - required=False, - ), - ), - ( - "page_type", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ] - ), - ), - ( - "topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - label="Filter by Topics", - required=False, - ), - ), - ( - "ordering", - wagtail.blocks.ChoiceBlock( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - help_text="How to order results", - ), - ), - ( - "statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Statuses", - required=False, - ), - ), - ( - "products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - label="Filter by Enforcement Products", - required=False, - ), - ), - ( - "language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - label="Filter by Language", - required=False, - ), - ), - ( - "date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - label="Filter by Date Range", - required=False, - ), - ), - ( - "filter_children", - wagtail.blocks.BooleanBlock( - default=True, - help_text="If checked this list will only filter its child pages.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0244_deprecate_2ndary_links.py b/cfgov/v1/migrations/0244_deprecate_2ndary_links.py deleted file mode 100644 index f61840d2b2a..00000000000 --- a/cfgov/v1/migrations/0244_deprecate_2ndary_links.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.18 on 2023-05-19 15:33 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('v1', '0243_filterable_list_topics'), - ] - - operations = [ - migrations.RemoveField( - model_name='abstractfilterpage', - name='secondary_link_text', - ), - migrations.RemoveField( - model_name='abstractfilterpage', - name='secondary_link_url', - ), - ] diff --git a/cfgov/v1/migrations/0245_alter_emailsignup_url.py b/cfgov/v1/migrations/0245_alter_emailsignup_url.py deleted file mode 100644 index 59425ec6356..00000000000 --- a/cfgov/v1/migrations/0245_alter_emailsignup_url.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-31 14:23 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('v1', '0244_deprecate_2ndary_links'), - ] - - operations = [ - migrations.AlterField( - model_name='emailsignup', - name='url', - field=models.URLField(blank=True, help_text='URL for the GovDelivery signup page people will be linked to in order to signup. Provide either this or the GovDelivery code, but not both.', null=True, verbose_name='GovDelivery URL'), - ), - ] diff --git a/cfgov/v1/migrations/0246_issue_spotlight_category.py b/cfgov/v1/migrations/0246_issue_spotlight_category.py deleted file mode 100644 index bd333874574..00000000000 --- a/cfgov/v1/migrations/0246_issue_spotlight_category.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-31 21:23 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('v1', '0245_alter_emailsignup_url'), - ] - - operations = [ - migrations.AlterField( - model_name='cfgovpagecategory', - name='name', - field=models.CharField(choices=[('Administrative adjudication docket', (('administrative-adjudication', 'Administrative adjudication'), ('stipulation-and-constent-order', 'Stipulation and consent order'))), ('Amicus Brief', (('us-supreme-court', 'U.S. Supreme Court'), ('fed-circuit-court', 'Federal Circuit Court'), ('fed-district-court', 'Federal District Court'), ('state-court', 'State Court'))), ('Blog', (('at-the-cfpb', 'At the CFPB'), ('directors-notebook', "Director's notebook"), ('policy-compliance', 'Policy and compliance'), ('data-research-reports', 'Data, research, and reports'), ('info-for-consumers', 'Info for consumers'))), ('Consumer Reporting Companies', (('nationwide', 'Nationwide'), ('employment-screening', 'Employment screening'), ('tenant-screening', 'Tenant screening'), ('check-bank-screening', 'Check and bank account screening'), ('personal-property-insurance', 'Personal property insurance'), ('medical', 'Medical'), ('low-income-and-subprime', 'Low-income and subprime'), ('supplementary-reports', 'Supplementary reports'), ('utilities', 'Utilities'), ('retail', 'Retail'), ('gaming', 'Gaming'))), ('Enforcement Action', (('administrative-proceeding', 'Administrative Proceeding'), ('civil-action', 'Civil Action'))), ('Final rule', (('interim-final-rule', 'Interim final rule'), ('final-rule', 'Final rule'))), ('FOIA Frequently Requested Record', (('report', 'Report'), ('log', 'Log'), ('record', 'Record'))), ('Newsroom', (('consumer-advisories', 'Consumer advisories'), ('directors-statement', "Director's statement"), ('op-ed', 'Op-ed'), ('press-release', 'Press release'), ('speech', 'Speech'), ('testimony', 'Testimony'))), ('Notice and Opportunity for Comment', (('notice-proposed-rule', 'Advance notice of proposed rulemaking'), ('proposed-rule', 'Proposed rule'), ('interim-final-rule-2', 'Interim final rule'), ('request-comment-info', 'Request for comment or information'), ('proposed-policy', 'Proposed policy'), ('intent-preempt-determ', 'Intent to make preemption determination'), ('info-collect-activity', 'Information collection activities'), ('notice-privacy-act', 'Notice related to Privacy Act'))), ('Research Hub', (('research-publication', 'Office of Research Publication'),)), ('Research Report', (('consumer-complaint', 'Consumer complaint'), ('super-highlight', 'Supervisory Highlights'), ('data-point', 'Data point'), ('industry-markets', 'Industry and markets'), ('consumer-edu-empower', 'Consumer education and empowerment'), ('to-congress', 'To Congress'), ('data-spotlight', 'Data spotlight'), ('issue-spotlight', 'Issue spotlight'))), ('Rule Under Development', (('notice-proposed-rule-2', 'Advance notice of proposed rulemaking'), ('proposed-rule-2', 'Proposed rule'))), ('Story', (('auto-loans', 'Auto loans'), ('bank-accts-services', 'Bank accounts and services'), ('credit-cards', 'Credit cards'), ('credit-reports-scores', 'Credit reports and scores'), ('debt-collection', 'Debt collection'), ('money-transfers', 'Money transfers'), ('mortgages', 'Mortgages'), ('payday-loans', 'Payday loans'), ('prepaid-cards', 'Prepaid cards'), ('student-loans', 'Student loans')))], max_length=255), - ), - ] diff --git a/cfgov/v1/migrations/0247_eap_no_tables.py b/cfgov/v1/migrations/0247_eap_no_tables.py deleted file mode 100644 index 153e79e4981..00000000000 --- a/cfgov/v1/migrations/0247_eap_no_tables.py +++ /dev/null @@ -1,1114 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-13 18:44 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0246_issue_spotlight_category"), - ] - - operations = [ - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0248_filterable_list_mixin.py b/cfgov/v1/migrations/0248_filterable_list_mixin.py deleted file mode 100644 index 6595f8db4fb..00000000000 --- a/cfgov/v1/migrations/0248_filterable_list_mixin.py +++ /dev/null @@ -1,92 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-12 16:54 - -from django.db import migrations, models -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0247_eap_no_tables"), - ] - - operations = [ - migrations.AddField( - model_name="browsefilterablepage", - name="filter_children_only", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="filtered_date_label", - field=models.CharField(blank=True, max_length=30, null=True), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="filtered_ordering", - field=models.CharField( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - default="-start_date", - max_length=30, - ), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="show_filtered_categories", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="show_filtered_dates", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="browsefilterablepage", - name="show_filtered_tags", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="filter_children_only", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="filtered_date_label", - field=models.CharField(blank=True, max_length=30, null=True), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="filtered_ordering", - field=models.CharField( - choices=[ - ("-start_date", "Date"), - ("title.raw", "Alphabetical"), - ], - default="-start_date", - max_length=30, - ), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="show_filtered_categories", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="show_filtered_dates", - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name="sublandingfilterablepage", - name="show_filtered_tags", - field=models.BooleanField(default=True), - ), - ] diff --git a/cfgov/v1/migrations/0249_populate_filterable.py b/cfgov/v1/migrations/0249_populate_filterable.py deleted file mode 100644 index 6e5ce56d862..00000000000 --- a/cfgov/v1/migrations/0249_populate_filterable.py +++ /dev/null @@ -1,82 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-09 13:29 - -import json - -from django.db import migrations - - -def migrate_object(obj, filterable_list): - data = { - "filtered_ordering": filterable_list.get("ordering", "-start_date"), - "filter_children_only": filterable_list.get("filter_children", True), - "filtered_date_label": filterable_list.get("post_date_description"), - "show_filtered_categories": filterable_list["categories"].get( - "show_preview_categories", True - ), - } - - page_type_based_values = { - "show_filtered_dates": True, - "show_filtered_tags": True, - } - - page_type_overrides = { - "cfpb-researchers": {"show_filtered_dates": False}, - "consumer-reporting": {"show_filtered_dates": False}, - "foia-freq-req-record": {"show_filtered_tags": False}, - } - - page_type = filterable_list["categories"].get("page_type") - page_type_based_values.update(page_type_overrides.get(page_type, {})) - - data.update(page_type_based_values) - - if isinstance(obj, dict): - obj.update(data) - else: - for k, v in data.items(): - setattr(obj, k, v) - - -def get_filterable_list(content): - for block in content: - if block["type"] == "filter_controls": - return block["value"] - - -def migrate(apps, schema_editor): - ContentType = apps.get_model("contenttypes", "ContentType") - Revision = apps.get_model("wagtailcore.Revision") - - for classname in ("BrowseFilterablePage", "SublandingFilterablePage"): - page_class = apps.get_model("v1", classname) - page_contenttype_id = ContentType.objects.get_for_model(page_class).id - - for page in page_class.objects.all(): - filterable_list = get_filterable_list(page.content.raw_data) - - if filterable_list: - migrate_object(page, filterable_list) - page.save() - - for revision in Revision.objects.filter( - content_type_id=page_contenttype_id, object_id=page.pk - ): - revision_content = json.loads(revision.content["content"]) - filterable_list = get_filterable_list(revision_content) - - if not filterable_list: - continue - - migrate_object(revision.content, filterable_list) - revision.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0248_filterable_list_mixin"), - ] - - operations = [ - migrations.RunPython(migrate, elidable=True), - ] diff --git a/cfgov/v1/migrations/0250_rename_filterable.py b/cfgov/v1/migrations/0250_rename_filterable.py deleted file mode 100644 index 53e71fef6f6..00000000000 --- a/cfgov/v1/migrations/0250_rename_filterable.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-09 16:37 - -from django.db import migrations - -from v1.util.migrations import migrate_page_types_and_fields - - -def forwards(apps, schema_editor): - page_types_and_fields = [ - ("v1", "BrowseFilterablePage", "content", ["filter_controls"]), - ("v1", "SublandingFilterablePage", "content", ["filter_controls"]), - ] - migrate_page_types_and_fields(apps, page_types_and_fields, forward_mapper) - - -def forward_mapper(page_or_revision, data): - data["filter_by_keyword"] = data.pop("title") - data["filter_by_topics"] = data.pop("topics") - data["filter_by_enforcement_statuses"] = data.pop("statuses", None) - data["filter_by_enforcement_products"] = data.pop("products", None) - data["filter_by_language"] = data.pop("language", None) - data["filter_by_date_range"] = data.pop("date_range") - - categories = data.pop("categories") - data["filter_by_category"] = categories.pop("filter_category") - data["category_choices"] = categories.pop("page_type") - - return data - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0249_populate_filterable"), - ] - - operations = [ - migrations.RunPython(forwards, elidable=True), - ] diff --git a/cfgov/v1/migrations/0251_cleanup_filterable.py b/cfgov/v1/migrations/0251_cleanup_filterable.py deleted file mode 100644 index f7f22b524ed..00000000000 --- a/cfgov/v1/migrations/0251_cleanup_filterable.py +++ /dev/null @@ -1,973 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-09 17:59 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0250_rename_filterable"), - ] - - operations = [ - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0252_filterable_empty_content.py b/cfgov/v1/migrations/0252_filterable_empty_content.py deleted file mode 100644 index 49890877a1f..00000000000 --- a/cfgov/v1/migrations/0252_filterable_empty_content.py +++ /dev/null @@ -1,975 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-21 13:39 - -from django.db import migrations -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0251_cleanup_filterable"), - ] - - operations = [ - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0253_new_table_block.py b/cfgov/v1/migrations/0253_new_table_block.py deleted file mode 100644 index a5d32f363c8..00000000000 --- a/cfgov/v1/migrations/0253_new_table_block.py +++ /dev/null @@ -1,15961 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-07 18:35 - -from django.db import migrations -import jobmanager.blocks -import v1.atomic_elements.tables -import v1.blocks -import v1.util.ref -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks -import wagtail.snippets.blocks -import wagtailmedia.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("v1", "0252_filterable_empty_content"), - ] - - operations = [ - migrations.AlterField( - model_name="blogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsefilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="browsepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "raw_html_block", - wagtail.blocks.RawHTMLBlock(label="Raw HTML block"), - ), - ( - "chart_block", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar | % y-axis values"), - ( - "line", - "Line | millions/billions y-axis values", - ), - ( - "line-index", - "Line-Index | integer y-axis values", - ), - ( - "tile_map", - "Tile Map | grid-like USA map", - ), - ] - ), - ), - ( - "color_scheme", - wagtail.blocks.ChoiceBlock( - choices=[ - ("blue", "Blue"), - ("gold", "Gold"), - ("green", "Green"), - ("navy", "Navy"), - ("neutral", "Neutral"), - ("purple", "Purple"), - ("teal", "Teal"), - ], - help_text='Chart\'s color scheme. See "https://github.com/cfpb/cfpb-chart-builder#createchart-options-".', - required=False, - ), - ), - ( - "data_source", - wagtail.blocks.CharBlock( - help_text='Location of the chart\'s data source relative to "https://files.consumerfinance.gov/data/". For example,"consumer-credit-trends/auto-loans/num_data_AUT.csv".', - required=True, - ), - ), - ( - "date_published", - wagtail.blocks.DateBlock( - help_text="Automatically generated when CCT cron job runs" - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Briefly summarize the chart for visually impaired users.", - required=True, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "metadata", - wagtail.blocks.CharBlock( - help_text='Optional metadata for the chart to use. For example, with CCT this would be the chart\'s "group".', - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text to display as a footnote. For example, "Data from the last six months are not final."', - required=False, - ), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock( - help_text="Custom y-axis label. NOTE: Line-Index chart y-axis is not overridable with this field!", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_chart_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_map_block", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "title", - wagtail.blocks.CharBlock( - form_classname="title", required=True - ), - ), - ( - "description", - wagtail.blocks.CharBlock( - help_text="Chart summary for visually impaired users.", - required=False, - ), - ), - ( - "note", - wagtail.blocks.CharBlock( - help_text='Text for "Note" section of footnotes.', - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of chart block.", - required=False, - ), - ), - ] - ), - ), - ( - "mortgage_downloads_block", - wagtail.blocks.StructBlock( - [ - ( - "show_archives", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to allow the archival section to display. No section will appear if there are no archival downloads.", - required=False, - ), - ) - ] - ), - ), - ( - "data_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "market_key", - wagtail.blocks.CharBlock( - help_text="Market identifier, e.g. AUT", - max_length=20, - required=True, - ), - ), - ( - "num_originations", - wagtail.blocks.CharBlock( - help_text="Number of originations, e.g. 1.2 million", - max_length=20, - ), - ), - ( - "value_originations", - wagtail.blocks.CharBlock( - help_text="Total dollar value of originations, e.g. $3.4 billion", - max_length=20, - ), - ), - ( - "year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - ), - ), - ( - "last_updated_projected_data", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset" - ), - ), - ( - "num_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Auto loans originated", - max_length=100, - ), - ), - ( - "value_originations_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. Dollar volume of new loans", - max_length=100, - ), - ), - ( - "year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year originations", - max_length=100, - ), - ), - ( - "inquiry_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for inquiry data", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "inquiry_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year inquiries", - max_length=100, - required=False, - ), - ), - ( - "tightness_month", - wagtail.blocks.DateBlock( - help_text="Month of latest entry in dataset for credit tightness data", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change", - wagtail.blocks.CharBlock( - help_text="Percentage change, e.g. 5.6% increase", - max_length=20, - required=False, - ), - ), - ( - "tightness_year_over_year_change_text", - wagtail.blocks.CharBlock( - help_text="Descriptive sentence, e.g. In year-over-year credit tightness", - max_length=100, - required=False, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - icon="image", required=False - ), - ), - ] - ), - ), - ("job_listing_table", jobmanager.blocks.JobListingTable()), - ( - "yes_checklist", - wagtail.blocks.StructBlock( - [ - ( - "checklist", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "item", - wagtail.blocks.CharBlock( - help_text="Short description for a checkbox item" - ), - ), - ( - "details", - wagtail.blocks.RichTextBlock( - help_text="Deeper explanation of the item", - required=False, - ), - ), - ] - ) - ), - ) - ] - ), - ), - ( - "raf_tool", - wagtail.blocks.StructBlock( - [ - ( - "county_threshold", - wagtail.blocks.IntegerBlock( - help_text="Optional: Add a number to determine how many results trigger display of county dropdown for a state.", - required=False, - ), - ) - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="documentdetailpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "crc_table", - wagtail.blocks.StructBlock( - [ - ( - "website", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "phone", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ( - "mailing_address", - wagtail.blocks.RichTextBlock( - features=["bold", "italic", "link"] - ), - ), - ] - ), - ), - ( - "case_docket_table", - wagtail.blocks.StructBlock( - [ - ( - "events", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.CaseDocketEvent, - collapsed=True, - min_num=1, - ), - ) - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="enforcementactionpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="eventpage", - name="persistent_body", - field=wagtail.fields.StreamField( - [ - ("content", wagtail.blocks.RichTextBlock(icon="edit")), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock(required=False), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="learnpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "call_to_action", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", required=False - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("regular", "Regular"), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "audio_player", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "audio_file", - wagtailmedia.blocks.AbstractMediaChooserBlock( - help_text='Spoken word audio files should be in MP3 format with a 44.1 kHz sample rate, 96 kbps (CBR) bitrate, in mono. See Libsyn’s guidance for details. Note that the thumbnail and tag fields will not be used for audio files.' - ), - ), - ( - "additional_details", - wagtail.blocks.RichTextBlock( - help_text="If you have anything you want to appear below the audio player, such as a download link, put it in this field.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "faq_group", - wagtail.blocks.StructBlock( - [ - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of FAQ group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between FAQ items.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "question_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "h2"), - ("h3", "h3"), - ("h4", "h4"), - ("p", "p"), - ], - help_text="HTML tag for questions.", - ), - ), - ( - "faq_items", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer", - wagtail.blocks.StreamBlock( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - icon="edit" - ), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "full", - "Full width", - ), - ( - 470, - "470px", - ), - ( - 270, - "270px", - ), - ( - 170, - "170px", - ), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "right", - "right", - ), - ( - "left", - "left", - ), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - label="FAQ items", - ), - ), - ] - ), - ), - ( - "contact_us_table", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "rows", - wagtail.blocks.ListBlock( - v1.atomic_elements.tables.ContactUsRow, - collapsed=True, - min_num=1, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="legacyblogpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ("email_signup", v1.blocks.EmailSignUpChooserBlock()), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ( - "faq_schema", - wagtail.blocks.StructBlock( - [ - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "questions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag for this question. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'question-one-tag')", - max_length=500, - required=False, - ), - ), - ( - "question", - wagtail.blocks.CharBlock( - max_length=500 - ), - ), - ( - "answer_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="FAQ schema", - ), - ), - ( - "how_to_schema", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Title of How To section", - max_length=500, - ), - ), - ( - "title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ], - help_text="Choose a tag for the title of the How To section.", - label="Tag for How To section title", - ), - ), - ( - "show_title", - wagtail.blocks.BooleanBlock( - default=True, - help_text="The How To schema requires a title to let search engines understand what it is about. If you do not want the title to be displayed in the page, uncheck this box and the title content will only be made available to crawlers and screen readers.", - label="Show How To section title", - required=False, - ), - ), - ( - "description", - wagtail.blocks.RichTextBlock( - blank=True, - features=[ - "ol", - "ul", - "bold", - "italic", - "link", - "document-link", - ], - required=False, - ), - ), - ( - "step_title_tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("b", "Bold"), - ("p", "Paragraph"), - ], - help_text="Choose a tag for the title of each HowTo step.", - label="Tag for step titles", - ), - ), - ( - "has_numbers", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this box to display numbers before step titles. ", - label="Show numbers for steps", - required=False, - ), - ), - ( - "steps", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "anchor_tag", - wagtail.blocks.CharBlock( - blank=True, - help_text="Add an optional anchor link tag to allow linking directly to this step. Tag should be unique and use dashes or underscores for separation instead of spaces (ie, 'step-one-tag').", - max_length=500, - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - help_text="Enter a title for this HowTo step. You do not need to include a number in the title -- numbers will be added automatically in the template if the show numbers checkbox is checked.", - max_length=500, - ), - ), - ( - "step_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "h3", - "h4", - "link", - "ol", - "ul", - "document-link", - "image", - "embed", - ], - label="Text", - ), - ) - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "tip", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - features=[ - "link", - "document-link", - ], - label="Tip", - ), - ) - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ] - ) - ), - ), - ], - label="HowTo schema", - max_num=1, - ), - ), - ( - "content", - wagtail.blocks.RawHTMLBlock( - help_text="Content from WordPress unescaped." - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock("v1.ReusableText"), - ), - ], - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="storypage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", required=False - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "video_player", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ] - ), - ), - ( - "simple_chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock(required=True), - ), - ( - "subtitle", - wagtail.blocks.TextBlock(required=False), - ), - ( - "description", - wagtail.blocks.TextBlock( - help_text="Accessible description of the chart content", - required=True, - ), - ), - ( - "figure_number", - wagtail.blocks.CharBlock(required=False), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Bar"), - ("datetime", "Date/time"), - ("line", "Line"), - ("tilemap", "Tile grid map"), - ] - ), - ), - ( - "data_source", - wagtail.blocks.TextBlock( - help_text="URL of the chart's data source or an array of JSON data", - required=True, - rows=2, - ), - ), - ( - "data_series", - wagtail.blocks.TextBlock( - help_text='For charts pulling from a separate source file, include a list of the column headers (from a CSV file) or keys (from a JSON file) to include in the chart as ["HEADER/KEY1", "HEADER/KEY2"]. To change how the data is labeled in the chart, include the correct labels with the format [{"key": "HEADER/KEY1", "label": "NEWLABEL"}, {"key": "HEADER/KEY2", "label": "NEWLABEL2"}]', - required=False, - ), - ), - ( - "show_all_series_by_default", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Uncheck this option to initially only show the first data series in the chart. Leave checked to show all data series by default. Users can always turn data series on or off by interacting with the chart legend. ", - required=False, - ), - ), - ( - "x_axis_source", - wagtail.blocks.TextBlock( - help_text="The column header (CSV), key or data array (JSON) to include as the source of x-axis values.", - required=False, - ), - ), - ( - "transform", - wagtail.blocks.CharBlock( - help_text="Name the javascript function in chart-hooks.js to run on the provided data before handing it to the chart", - required=False, - ), - ), - ( - "x_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "y_axis_label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "filters", - wagtail.blocks.TextBlock( - help_text='If the chart needs the option for users to filter the data shown, for example by date or geographic region, provide the JSON objects to filter on, in the format {key: "KEY", "label": "LABEL"}', - required=False, - ), - ), - ( - "style_overrides", - wagtail.blocks.TextBlock( - help_text='A JSON object with style overrides for the underlying Highcharts chart. No object merging is done, nested objects should be referenced with dot notation: {"tooltip.shape": "circle"}', - required=False, - ), - ), - ( - "projected_months", - wagtail.blocks.IntegerBlock( - blank=True, - help_text="A number to determine how many months of the data are projected values", - max_value=12, - min_value=0, - null=True, - required=False, - ), - ), - ( - "source_credits", - wagtail.blocks.CharBlock( - help_text="Attribution for the data source", - required=False, - ), - ), - ( - "date_published", - wagtail.blocks.CharBlock( - help_text="When the underlying data was published", - required=False, - ), - ), - ( - "download_text", - wagtail.blocks.CharBlock( - help_text="Custom text for the chart download field. Required to display a download link.", - required=False, - ), - ), - ( - "download_file", - wagtail.blocks.CharBlock( - help_text="Location of a file to download, if different from the data source", - required=False, - ), - ), - ( - "notes", - wagtail.blocks.TextBlock( - help_text="General chart information", - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingfilterablepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "filter_controls", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "filter_by_keyword", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Search by keyword" filter in the filter controls.', - required=False, - ), - ), - ( - "filter_by_category", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a "Category" filter in the filter controls.', - required=False, - ), - ), - ( - "category_choices", - wagtail.blocks.ChoiceBlock( - choices=v1.util.ref.filterable_list_page_types, - required=False, - ), - ), - ( - "filter_by_topics", - wagtail.blocks.BooleanBlock( - help_text='Whether to include a "Topics" filter in the filter controls', - required=False, - ), - ), - ( - "filter_by_enforcement_statuses", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Status" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_enforcement_products", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Product" filter in the filter controls. Only enable if using on an enforcement actions filterable list.', - required=False, - ), - ), - ( - "filter_by_language", - wagtail.blocks.BooleanBlock( - default=False, - help_text='Whether to include a "Language" filter in the filter controls.Only enable if there are non-english filterable results available.', - required=False, - ), - ), - ( - "filter_by_date_range", - wagtail.blocks.BooleanBlock( - default=True, - help_text='Whether to include a set of "Date range" filters in the filter controls.', - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - migrations.AlterField( - model_name="sublandingpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text_introduction", - wagtail.blocks.StructBlock( - [ - ( - "eyebrow", - wagtail.blocks.CharBlock( - help_text="Optional: Adds an H5 eyebrow above H1 heading text. Only use in conjunction with heading.", - label="Pre-heading", - required=False, - ), - ), - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ( - "has_rule", - wagtail.blocks.BooleanBlock( - help_text="Check this to add a horizontal rule line to bottom of text introduction.", - label="Has bottom rule", - required=False, - ), - ), - ] - ), - ), - ( - "notification", - wagtail.blocks.StructBlock( - [ - ( - "type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("information", "Information"), - ("warning", "Warning"), - ] - ), - ), - ( - "message", - wagtail.blocks.CharBlock( - help_text="The main notification message to display.", - required=True, - ), - ), - ( - "explanation", - wagtail.blocks.TextBlock( - help_text="Explanation text appears below the message in smaller type.", - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - help_text="Links appear on their own lines below the explanation.", - required=False, - ), - ), - ] - ), - ), - ( - "featured_content", - wagtail.blocks.StructBlock( - [ - ("heading", wagtail.blocks.CharBlock()), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Line breaks will be ignored." - ), - ), - ( - "post", - wagtail.blocks.PageChooserBlock( - required=False - ), - ), - ( - "show_post_link", - wagtail.blocks.BooleanBlock( - label="Render post link?", - required=False, - ), - ), - ( - "post_link_text", - wagtail.blocks.CharBlock(required=False), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - label="Additional Links", - ), - ), - ( - "video", - wagtail.blocks.StructBlock( - [ - ( - "video_id", - wagtail.blocks.RegexBlock( - error_messages={ - "invalid": "The YouTube video ID is in the wrong format." - }, - help_text='Enter the YouTube video ID, which is located at the end of the video URL, after "v=". For example, the video ID for https://www.youtube.com/watch?v=1V0Ax9OIc84 is 1V0Ax9OIc84.', - label="YouTube video ID", - regex="^[\\w-]{11}$", - required=False, - ), - ), - ( - "thumbnail_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Optional thumbnail image to show before and after the video plays. If the thumbnail image is not set here, the video player will default to showing the thumbnail that was set in (or automatically chosen by) YouTube.", - required=False, - ), - ), - ], - required=False, - ), - ), - ] - ), - ), - ( - "full_width_text", - wagtail.blocks.StreamBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock(icon="edit"), - ), - ( - "content_with_anchor", - wagtail.blocks.StructBlock( - [ - ( - "content_block", - wagtail.blocks.RichTextBlock(), - ), - ( - "anchor_link", - wagtail.blocks.StructBlock( - [ - ( - "link_id", - wagtail.blocks.CharBlock( - help_text="\n ID will be auto-generated on save.\n However, you may enter some human-friendly text that\n will be incorporated to make it easier to read.\n ", - label="ID for this content block", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "image_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("full", "Full width"), - (470, "470px"), - (270, "270px"), - (170, "170px"), - ] - ), - ), - ( - "image_position", - wagtail.blocks.ChoiceBlock( - choices=[ - ("right", "right"), - ("left", "left"), - ], - help_text="Does not apply if the image is full-width", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - label="Caption", - required=False, - ), - ), - ( - "is_bottom_rule", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check to add a horizontal rule line to bottom of inset.", - label="Has bottom rule line", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "quote", - wagtail.blocks.StructBlock( - [ - ( - "body", - wagtail.blocks.TextBlock(), - ), - ( - "citation", - wagtail.blocks.TextBlock( - required=False - ), - ), - ( - "is_large", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ] - ), - ), - ( - "cta", - wagtail.blocks.StructBlock( - [ - ( - "slug_text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph_text", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "regular", - "Regular", - ), - ( - "large", - "Large Primary", - ), - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "reusable_text", - v1.blocks.ReusableTextChooserBlock( - "v1.ReusableText" - ), - ), - ( - "email_signup", - v1.blocks.EmailSignUpChooserBlock(), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ("50-50", "50/50"), - ("33-33-33", "33/33/33"), - ("25-75", "25/75"), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", required=False - ), - ) - ] - ), - ), - ( - "snippet_list", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock(required=False), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line above this block.", - required=False, - ), - ), - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "actions_column_width", - wagtail.blocks.ChoiceBlock( - choices=[ - ("70", "70%"), - ("66", "66%"), - ("60", "60%"), - ("50", "50%"), - ("40", "40%"), - ("33", "33%"), - ("30", "30%"), - ], - help_text="Choose the width in % that you wish to set the Actions column in a resource list.", - label='Width of "Actions" column', - required=False, - ), - ), - ( - "show_thumbnails", - wagtail.blocks.BooleanBlock( - help_text="If selected, each resource in the list will include a 150px-wide image from the resource's thumbnail field.", - required=False, - ), - ), - ( - "actions", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "link_label", - wagtail.blocks.CharBlock( - help_text='E.g., "Download" or "Order free prints"' - ), - ), - ( - "snippet_field", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "related_file", - "Related file", - ), - ( - "alternate_file", - "Alternate file", - ), - ("link", "Link"), - ( - "alternate_link", - "Alternate link", - ), - ], - help_text="The field that the action link should point to", - ), - ), - ] - ) - ), - ), - ( - "tags", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock(label="Tag"), - help_text="Enter tag names to filter the snippets. For a snippet to match and be output in the list, it must have been tagged with all of the tag names listed here. The tag names are case-insensitive.", - ), - ), - ] - ), - ), - ( - "post_preview_snapshot", - wagtail.blocks.StructBlock( - [ - ( - "limit", - wagtail.blocks.CharBlock( - default="3", - help_text="How many posts do you want to show?", - label="Limit", - ), - ), - ( - "post_date_description", - wagtail.blocks.CharBlock( - default="Published" - ), - ), - ] - ), - ), - ( - "contact", - wagtail.blocks.StructBlock( - [ - ( - "contact", - wagtail.snippets.blocks.SnippetChooserBlock( - "v1.Contact" - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Add a horizontal rule line to top of contact block.", - required=False, - ), - ), - ] - ), - ), - ( - "table", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "options", - wagtail.blocks.MultipleChoiceBlock( - choices=[ - ( - "is_full_width", - "Display the table at full width", - ), - ( - "stack_on_mobile", - "Stack the table columns on mobile", - ), - ], - required=False, - ), - ), - ( - "data", - wagtail.contrib.typed_table_block.blocks.TypedTableBlock( - [ - ( - "text", - wagtail.blocks.CharBlock(), - ), - ( - "numeric", - wagtail.blocks.FloatBlock(), - ), - ( - "rich_text", - wagtail.blocks.RichTextBlock( - features=[ - "bold", - "italic", - "ol", - "ul", - "link", - "document-link", - "superscript", - ] - ), - ), - ] - ), - ), - ] - ), - ), - ( - "expandable_group", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.CharBlock( - help_text="Added as an <h3> at the top of this block. Also adds a wrapping <div> whose id attribute comes from a slugified version of this heading, creating an anchor that can be used when linking to this part of the page.", - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "is_accordion", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of expandable group.", - required=False, - ), - ), - ( - "is_faq", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add FAQ schema markup to expandables.", - label="Uses FAQ schema", - required=False, - ), - ), - ( - "expandables", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ) - ), - ), - ] - ), - ), - ( - "expandable", - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock(required=False), - ), - ( - "is_bordered", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_midtone", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "is_expanded", - wagtail.blocks.BooleanBlock( - required=False - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "paragraph", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "well", - wagtail.blocks.StructBlock( - [ - ( - "content", - wagtail.blocks.RichTextBlock( - label="Well", - required=False, - ), - ) - ] - ), - ), - ( - "links", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - ), - ( - "info_unit_group", - wagtail.blocks.StructBlock( - [ - ( - "format", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "50-50", - "50/50", - ), - ( - "33-33-33", - "33/33/33", - ), - ( - "25-75", - "25/75", - ), - ], - help_text="Choose the number and width of info unit columns.", - label="Format", - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - v1.blocks.HeadingTextBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - v1.blocks.HeadingIconBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ( - "sharing", - wagtail.blocks.StructBlock( - [ - ( - "shareable", - wagtail.blocks.BooleanBlock( - help_text="If checked, share links will be included below the items.", - label="Include sharing links?", - required=False, - ), - ), - ( - "share_blurb", - wagtail.blocks.CharBlock( - help_text="Sets the tweet text, email subject line, and LinkedIn post text.", - required=False, - ), - ), - ] - ), - ), - ] - ), - ), - ], - blank=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - ), - ), - ] diff --git a/cfgov/v1/migrations/0254_delete_campaignpage.py b/cfgov/v1/migrations/0254_delete_campaignpage.py deleted file mode 100644 index cedfd992b8d..00000000000 --- a/cfgov/v1/migrations/0254_delete_campaignpage.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.20 on 2023-07-19 14:14 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('wagtailinventory', '0003_pageblock_id_bigautofield'), - ('wagtailredirects', '0008_add_verbose_name_plural'), - ('wagtailforms', '0005_alter_formsubmission_form_data'), - ('wagtailcore', '0078_referenceindex'), - ('v1', '0253_new_table_block'), - ] - - operations = [ - migrations.DeleteModel( - name='CampaignPage', - ), - ] diff --git a/cfgov/wellbeing/jinja2/wellbeing/about.html b/cfgov/wellbeing/jinja2/wellbeing/about.html index ea1b32cc386..6143cf9f869 100644 --- a/cfgov/wellbeing/jinja2/wellbeing/about.html +++ b/cfgov/wellbeing/jinja2/wellbeing/about.html @@ -151,7 +151,7 @@

Materials are publicly available for use at no cost

a-link__icon-after-text" href="https://cfpb.github.io/design-system/foundation/logo"> name and logo guidelines - {{ svg_icon('external-link') }} + {{ svg_icon('external-link') -}} .

. -This documentation will be available at (docker-compose only). - The Wagtail admin area will be available at , which you can log into with the credentials `admin`/`admin`. diff --git a/docs/running-docker.md b/docs/running-docker.md index 965d7aa7c99..5d431fdff24 100644 --- a/docs/running-docker.md +++ b/docs/running-docker.md @@ -7,7 +7,6 @@ to setup your Docker environment and create the project Docker containers. We use [`docker-compose`](https://docs.docker.com/compose/reference/overview/) to run an Elasticsearch container, a PostgreSQL container, and Django in a Python container. -There is also a container serving the documentation. All of these containers are configured in our [`docker-compose.yml` file](https://github.com/cfpb/consumerfinance.gov/blob/main/docker-compose.yml). @@ -18,7 +17,6 @@ The following URLs are mapped to your host from the containers: - Access consumerfinance.gov running in the Python container: http://localhost:8000/ - Access Elasticsearch: http://localhost:9200/ -- View this documentation: http://localhost:8888/ To build and run the containers for the first time, run: diff --git a/requirements/docs.txt b/requirements/docs.txt index b47cdcec6e4..a14765b517c 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -8,6 +8,6 @@ mkdocs-bootstrap==1.1 mkdocs-bootswatch==1.1 mkdocs-rtd-dropdown==1.0.2 pymdown-extensions==10.0.1 -PyYAML==6.0 +PyYAML==6.0.1 singledispatch==3.7.0 tornado==6.1 diff --git a/test.sql.gz b/test.sql.gz index 523c13b47b7..21fa1bf1259 100644 Binary files a/test.sql.gz and b/test.sql.gz differ