diff --git a/.dockerignore b/.dockerignore index 97d8388c98d..92a82b6670c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,10 +17,12 @@ !dump-data.sh !Dockerfile !frontend.sh +!index.sh !initial-data.sh !jest.config.js !package.json !refresh-data.sh +!test.sql.gz !yarn.lock # ...but DO ignore these others diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 057d9fa6a1e..a7672b98508 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -2,12 +2,6 @@ name: backend on: workflow_dispatch: - paths: - - '**.py' - - 'requirements/**.txt' - - '**.html' - - '**.mo' - - '**.po' pull_request: paths: - '**.py' @@ -16,12 +10,6 @@ on: - '**.mo' - '**.po' merge_group: - paths: - - '**.py' - - 'requirements/**.txt' - - '**.html' - - '**.mo' - - '**.po' jobs: backend: diff --git a/.github/workflows/build-artifact.yml b/.github/workflows/build-artifact.yml index d1358e5cfdf..db41d06ceba 100644 --- a/.github/workflows/build-artifact.yml +++ b/.github/workflows/build-artifact.yml @@ -7,7 +7,6 @@ on: jobs: Build: - if: "! github.event.pull_request.head.repo.fork" runs-on: ubuntu-latest env: ARTIFACT_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} @@ -20,25 +19,53 @@ jobs: with: node-version: '20.x' + - name: Install Act dependencies (if needed) + if: ${{ env.ACT }} + run: corepack enable + - name: Install dependencies run: yarn - name: Build frontend run: yarn run build - - name: Run the build process with Docker - uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185 + - name: Login to GHCR + uses: docker/login-action@v3 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - image: ghcr.io/${{ github.repository }}-builder:main - options: -v ${{ github.workspace }}:/cfgov - run: | - source scl_source enable rh-python38 - ./call_create.sh - - - name: Upload arifact + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Pull image to build artifact + run: docker pull ghcr.io/cfpb/cfgov-artifact-builder:latest + + - name: Build artifact + run: | + docker run \ + -v `pwd`:/cfgov \ + ghcr.io/cfpb/cfgov-artifact-builder:latest + + - name: Pull image to test artifact + run: docker pull ghcr.io/cfpb/cfgov-artifact-tester:latest + + - name: Run built artifact as a Docker container + run: | + docker run \ + --name cfgov \ + -d \ + -v `pwd`:/cfgov:ro \ + -p 8000:80 \ + --env-file docker/centos7/test.env \ + ghcr.io/cfpb/cfgov-artifact-tester:latest + + - name: Wait for artifact container to be ready + run: | + timeout 180s bash -c \ + 'until [ "$(docker inspect -f {{.State.Health.Status}} cfgov)" == "healthy" ]; do sleep 2; done' + + # Don't upload artifacts to S3 if PR is against a fork. + - name: Upload artifact to S3 + if: "! github.event.pull_request.head.repo.fork" uses: keithweaver/aws-s3-github-action@v1.0.0 with: command: cp diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 9e10a0d998a..9b096fb4419 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -1,14 +1,11 @@ -name: Create and publish a Docker image that can be used to build a deployable zipfile +name: Maintain deployable zipfile Docker images on: push: branches: ['main'] paths: - - 'docker/builder/**' - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }}-builder + - 'docker/centos7/**' + workflow_dispatch: jobs: build-and-push-image: @@ -25,20 +22,26 @@ jobs: - name: Log in to the Container registry uses: docker/login-action@v3 with: - registry: ${{ env.REGISTRY }} + registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build deployable zipfile builder image + run: | + docker build docker/centos7 \ + --target=cfgov-artifact-builder \ + -t ghcr.io/cfpb/cfgov-artifact-builder:latest - - name: Build and push Docker image - uses: docker/build-push-action@v5 - with: - context: ./docker/builder/ - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + - name: Build deployable zipfile tester image + run: | + docker build docker/centos7 \ + --target=cfgov-artifact-tester \ + -t ghcr.io/cfpb/cfgov-artifact-tester:latest + + - name: Push deployable zipfile builder image + run: | + docker push ghcr.io/cfpb/cfgov-artifact-builder:latest + + - name: Push deployable zipfile tester image + run: | + docker push ghcr.io/cfpb/cfgov-artifact-tester:latest diff --git a/.github/workflows/filter-backend.yml b/.github/workflows/filter-backend.yml index 18d8f8e7115..5c702d4eddb 100644 --- a/.github/workflows/filter-backend.yml +++ b/.github/workflows/filter-backend.yml @@ -8,12 +8,6 @@ on: - '**.mo' - '**.po' merge_group: - paths-ignore: - - '**.py' - - 'requirements/**.txt' - - '**.html' - - '**.mo' - - '**.po' jobs: backend: diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml new file mode 100644 index 00000000000..f68c15bcde6 --- /dev/null +++ b/.github/workflows/helm.yml @@ -0,0 +1,21 @@ +name: Helm testing +on: + pull_request: + paths: + - helm/** + +jobs: + helm: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install Helm + uses: azure/setup-helm@v4 + + - name: Install Helm dependencies + run: helm dependency update helm + + - name: Lint Helm chart + run: helm lint --strict -f helm/values.local.yaml helm diff --git a/.gitignore b/.gitignore index 9c126cc48c5..c6b8dc59498 100755 --- a/.gitignore +++ b/.gitignore @@ -145,6 +145,10 @@ cfgov/regulations3k/jinja2/regulations3k/regulations3k-service-worker.js.map cfgov/regulations3k/jinja2/regulations3k/workbox-*.js cfgov/regulations3k/jinja2/regulations3k/workbox-*.js.map +# Helm Charts # +helm/apache/ +helm/charts/ + # Apache # ########## cfgov/apache/logs diff --git a/.prettierignore b/.prettierignore index 4d66f089cd3..d0a0b33903a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,6 +6,7 @@ cfgov/retirement_api/data/ cfgov/static_built/ **/fixtures/ collectstatic/ +helm/ # Ignore all HTML files: *.html diff --git a/Dockerfile b/Dockerfile index c34b623afa7..c6ae0fb3735 100644 --- a/Dockerfile +++ b/Dockerfile @@ -150,6 +150,10 @@ ENV ALLOWED_HOSTS '["*"]' # Copy the application code over COPY cfgov ./cfgov/ COPY static.in ./static.in/ +COPY refresh-data.sh . +COPY initial-data.sh . +COPY index.sh . +COPY test.sql.gz . # Copy our static build over from node-builder COPY --from=node-builder ${APP_HOME} ${APP_HOME} @@ -170,4 +174,4 @@ RUN chown -R ${USERNAME}:${USERNAME} ${APP_HOME} USER $USERNAME # Run Gunicorn -CMD gunicorn cfgov.wsgi:application -b :8000 +CMD gunicorn --reload cfgov.wsgi:application -b :8000 diff --git a/cfgov/apache/conf.d/status.conf b/cfgov/apache/conf.d/status.conf deleted file mode 100644 index 92d54230c1e..00000000000 --- a/cfgov/apache/conf.d/status.conf +++ /dev/null @@ -1,12 +0,0 @@ -# Allow server status reports generated by mod_status, with the URL of -# /apache-status, from an allow list defined in APACHE_STATUS_ALLOW_FROM - - - SetHandler server-status - Order allow,deny - Deny from all - - Allow from ${APACHE_STATUS_ALLOW_FROM} - - - diff --git a/cfgov/apache/conf.modules.d/00-base.conf b/cfgov/apache/conf.modules.d/00-base.conf index 6f9afb06080..d0a18eb3da9 100644 --- a/cfgov/apache/conf.modules.d/00-base.conf +++ b/cfgov/apache/conf.modules.d/00-base.conf @@ -58,7 +58,7 @@ LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule socache_dbm_module modules/mod_socache_dbm.so LoadModule socache_memcache_module modules/mod_socache_memcache.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so -LoadModule status_module modules/mod_status.so +# LoadModule status_module modules/mod_status.so LoadModule substitute_module modules/mod_substitute.so LoadModule suexec_module modules/mod_suexec.so LoadModule unique_id_module modules/mod_unique_id.so diff --git a/cfgov/apache/conf/httpd.conf b/cfgov/apache/conf/httpd.conf index 062b3d648ed..1eb3a8b0b88 100644 --- a/cfgov/apache/conf/httpd.conf +++ b/cfgov/apache/conf/httpd.conf @@ -31,7 +31,6 @@ PassEnv APACHE_UPLOADS_F_ALIAS PassEnv APACHE_HTTPS_FORWARDED_HOST PassEnv APACHE_PORT PassEnv LIMIT_REQUEST_BODY -PassEnv APACHE_STATUS_ALLOW_FROM # These values are needed for running in containerized Apache PassEnv APACHE_USER diff --git a/cfgov/apache/dockerfile b/cfgov/apache/dockerfile new file mode 100644 index 00000000000..f387b7306e9 --- /dev/null +++ b/cfgov/apache/dockerfile @@ -0,0 +1,24 @@ +FROM httpd:2.4-alpine + +# Copy the Apache configuration file +COPY ./conf /usr/local/apache2/conf +COPY ./conf.d /usr/local/apache2/conf.d +COPY ./conf.modules.d /usr/local/apache2/conf.modules.d + +# Add Apache ENV variables +ENV APACHE_PORT="80" +ENV APACHE_USER="www-data" +ENV APACHE_GROUP="www-data" +ENV APACHE_SERVER_ROOT="/usr/local/apache2/" +ENV APACHE_UPLOADS_F_ALIAS="/src/consumerfinance.gov/cfgov/f/" +ENV STATIC_PATH="/tmp" +ENV ERROR_LOG="/proc/self/fd/2" +ENV ACCESS_LOG="/proc/self/fd/1" +ENV LIMIT_REQUEST_BODY="0" +ENV APACHE_STATUS_ALLOW_FROM="127.0.0.1" +ENV APACHE_PROCESS_COUNT="4" +ENV CFGOV_APPLICATION_HOST="localhost" + +EXPOSE 80 + +CMD ["httpd-foreground"] \ No newline at end of file diff --git a/cfgov/ask_cfpb/migrations/0001_2024_squash.py b/cfgov/ask_cfpb/migrations/0001_2024_squash.py new file mode 100644 index 00000000000..76869104e29 --- /dev/null +++ b/cfgov/ask_cfpb/migrations/0001_2024_squash.py @@ -0,0 +1,149 @@ +# Generated by Django 4.2.17 on 2024-12-26 19:32 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import modelcluster.fields +import v1.models.snippets +import wagtail.contrib.routable_page.models +import wagtail.fields +import wagtail.search.index + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('wagtailredirects', '0008_add_verbose_name_plural'), + ('wagtailforms', '0005_alter_formsubmission_form_data'), + ('wagtailinventory', '0003_pageblock_id_bigautofield'), + ('wagtailcore', '0069_log_entry_jsonfield'), + ('v1', '0001_2024_squash'), + ] + + 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='If content is changed, update this to match the new publication date.', null=True)), + ('question', models.TextField(blank=True, help_text='Used as the primary heading (H1) of the page.')), + ('short_answer', wagtail.fields.RichTextField(blank=True, help_text='Formatted as a lead paragraph.')), + ('answer_content', wagtail.fields.StreamField([('text', 2), ('table', 14), ('tip', 16), ('video_player', 19), ('how_to_schema', 33), ('faq_schema', 38)], blank=True, block_lookup={0: ('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}), 1: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'h2', 'h3', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], 'label': 'Text'}), 2: ('wagtail.blocks.StructBlock', [[('anchor_tag', 0), ('content', 1)]], {}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 6: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 4), ('icon', 5)]], {'required': False}), 7: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 8: ('wagtail.blocks.CharBlock', (), {}), 9: ('wagtail.blocks.FloatBlock', (), {}), 10: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 11: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 12: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 8), ('numeric', 9), ('rich_text', 10), ('rich_text_with_footnotes', 11)]], {}), 13: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 14: ('wagtail.blocks.StructBlock', [[('heading', 6), ('text_introduction', 3), ('options', 7), ('data', 12), ('caption', 13)]], {}), 15: ('wagtail.blocks.RichTextBlock', (), {'features': ['link', 'document-link'], 'label': 'Tip'}), 16: ('wagtail.blocks.StructBlock', [[('content', 15)]], {'label': 'Tip (floats right)'}), 17: ('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}), 18: ('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}), 19: ('wagtail.blocks.StructBlock', [[('video_id', 17), ('thumbnail_image', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'label': 'Title of How To section', 'max_length': 500}), 21: ('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'}), 22: ('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}), 23: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'features': ['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], 'required': False}), 24: ('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'}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this box to display numbers before step titles. ', 'label': 'Show numbers for steps', 'required': False}), 26: ('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}), 27: ('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}), 28: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], 'label': 'Text'}), 29: ('wagtail.blocks.StructBlock', [[('content', 28)]], {}), 30: ('wagtail.blocks.StreamBlock', [[('text', 29), ('table', 14), ('video_player', 19)]], {}), 31: ('wagtail.blocks.StructBlock', [[('anchor_tag', 26), ('title', 27), ('step_content', 30)]], {}), 32: ('wagtail.blocks.ListBlock', (31,), {}), 33: ('wagtail.blocks.StructBlock', [[('title', 20), ('title_tag', 21), ('show_title', 22), ('description', 23), ('step_title_tag', 24), ('has_numbers', 25), ('steps', 32)]], {'label': 'Google Schema - How To'}), 34: ('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}), 35: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 36: ('wagtail.blocks.StructBlock', [[('anchor_tag', 34), ('question', 35), ('answer_content', 30)]], {}), 37: ('wagtail.blocks.ListBlock', (36,), {}), 38: ('wagtail.blocks.StructBlock', [[('description', 23), ('questions', 37)]], {'label': 'Google Schema - FAQ'})}, verbose_name='Answer')), + ('search_tags', models.CharField(blank=True, help_text='Search words or phrases, separated by commas', max_length=1000)), + ('sidebar', wagtail.fields.StreamField([('related_links', 7), ('email_signup', 8), ('reusable_text', 9)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 4: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 2), ('url', 3), ('is_link_boldface', 4)]], {}), 6: ('wagtail.blocks.ListBlock', (5,), {}), 7: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 1), ('links', 6)]], {}), 8: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 9: ('v1.blocks.ReusableTextChooserBlock', (v1.models.snippets.ReusableText,), {})})), + ('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, help_text='Determined where this page can be found within selected Consumer Tools pages.', to='v1.portalcategory')), + ('portal_topic', modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Adds this question to search indexes for selected Consumer Tools pages.', to='v1.portaltopic')), + ('primary_portal_topic', modelcluster.fields.ParentalKey(blank=True, help_text='Use only when more than one Consumer Tools page is selected above.', 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='Select no more than three.', related_name='related_question', to='ask_cfpb.answerpage')), + ('notification', wagtail.fields.StreamField([('notification', 9)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {})})), + ], + 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_0004_new_table_block.py b/cfgov/ask_cfpb/migrations/0001_squashed_0004_new_table_block.py deleted file mode 100644 index cec397f9379..00000000000 --- a/cfgov/ask_cfpb/migrations/0001_squashed_0004_new_table_block.py +++ /dev/null @@ -1,158 +0,0 @@ -# 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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/0002_deprecate_super_button.py b/cfgov/ask_cfpb/migrations/0002_deprecate_super_button.py deleted file mode 100644 index a6f5113ab5e..00000000000 --- a/cfgov/ask_cfpb/migrations/0002_deprecate_super_button.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-22 17:15 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.snippets.blocks - -import v1.atomic_elements.molecules -import v1.blocks -import v1.models.snippets - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0001_squashed_0004_new_table_block'), - ] - - operations = [ - 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))]))])), ('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/0003_remove_halfwidth.py b/cfgov/ask_cfpb/migrations/0003_remove_halfwidth.py deleted file mode 100644 index 36173bdd3d1..00000000000 --- a/cfgov/ask_cfpb/migrations/0003_remove_halfwidth.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-09 20:42 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields -import wagtail.snippets.blocks - -import v1.atomic_elements.molecules -import v1.blocks -import v1.models.snippets - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0002_deprecate_super_button'), - ] - - operations = [ - 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))]))])), ('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'))]))])), ('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/0004_ask_changes_202401.py b/cfgov/ask_cfpb/migrations/0004_ask_changes_202401.py deleted file mode 100644 index 3799857d50b..00000000000 --- a/cfgov/ask_cfpb/migrations/0004_ask_changes_202401.py +++ /dev/null @@ -1,83 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-17 22:24 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields -import v1.blocks -import v1.models.snippets -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('v1', '0017_remove_halfwidth'), - ('ask_cfpb', '0003_remove_halfwidth'), - ] - - operations = [ - migrations.RemoveField( - model_name='answerpage', - name='featured', - ), - migrations.RemoveField( - model_name='answerpage', - name='featured_rank', - ), - migrations.RemoveField( - model_name='answerpage', - name='related_resource', - ), - migrations.RemoveField( - model_name='answerpage', - name='statement', - ), - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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'))], label='Tip (floats right)')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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='Google Schema - How To')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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='Google Schema - FAQ'))], blank=True, use_json_field=True, verbose_name='Answer'), - ), - migrations.AlterField( - model_name='answerpage', - name='last_edited', - field=models.DateField(blank=True, help_text='If content is changed, update this to match the new publication date.', null=True), - ), - migrations.AlterField( - model_name='answerpage', - name='portal_category', - field=modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Determined where this page can be found within selected Consumer Tools pages.', to='v1.PortalCategory'), - ), - migrations.AlterField( - model_name='answerpage', - name='portal_topic', - field=modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Adds this question to search indexes for selected Consumer Tools pages.', to='v1.PortalTopic'), - ), - migrations.AlterField( - model_name='answerpage', - name='primary_portal_topic', - field=modelcluster.fields.ParentalKey(blank=True, help_text='Use only when more than one Consumer Tools page is selected above.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='primary_portal_topic', to='v1.portaltopic'), - ), - migrations.AlterField( - model_name='answerpage', - name='question', - field=models.TextField(blank=True, help_text='Used as the primary heading (H1) of the page.'), - ), - migrations.AlterField( - model_name='answerpage', - name='related_questions', - field=modelcluster.fields.ParentalManyToManyField(blank=True, help_text='Select no more than three.', related_name='related_question', to='ask_cfpb.AnswerPage'), - ), - migrations.AlterField( - model_name='answerpage', - name='short_answer', - field=wagtail.fields.RichTextField(blank=True, help_text='Formatted as a lead paragraph.'), - ), - migrations.AlterField( - model_name='answerpage', - name='sidebar', - field=wagtail.fields.StreamField([('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))])))])), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('reusable_text', v1.blocks.ReusableTextChooserBlock(v1.models.snippets.ReusableText))], blank=True, use_json_field=True), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0005_add_table_intro.py b/cfgov/ask_cfpb/migrations/0005_add_table_intro.py deleted file mode 100644 index e498694f63d..00000000000 --- a/cfgov/ask_cfpb/migrations/0005_add_table_intro.py +++ /dev/null @@ -1,690 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 17:43 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("ask_cfpb", "0004_ask_changes_202401"), - ] - - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock(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", - ), - ) - ], - label="Tip (floats right)", - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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="Google Schema - How To", - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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="Google Schema - FAQ", - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="Answer", - ), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0006_raw_html_affordances.py b/cfgov/ask_cfpb/migrations/0006_raw_html_affordances.py deleted file mode 100644 index 67cc89f7702..00000000000 --- a/cfgov/ask_cfpb/migrations/0006_raw_html_affordances.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-05 19:48 - -from django.db import migrations -import v1.blocks -import v1.models.snippets -import wagtail.blocks -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0005_add_table_intro'), - ] - - operations = [ - 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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([('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)), ('is_link_boldface', 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=True), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0007_move_tip_to_ask.py b/cfgov/ask_cfpb/migrations/0007_move_tip_to_ask.py deleted file mode 100644 index 44eda2c860d..00000000000 --- a/cfgov/ask_cfpb/migrations/0007_move_tip_to_ask.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-28 21:39 - -from django.db import migrations -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0006_raw_html_affordances'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'))], label='Tip (floats right)')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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']))]))])), ('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='Google Schema - How To')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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']))]))])), ('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='Google Schema - FAQ'))], blank=True, use_json_field=True, verbose_name='Answer'), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0008_add_footnotes.py b/cfgov/ask_cfpb/migrations/0008_add_footnotes.py deleted file mode 100644 index e7bc0e92d5e..00000000000 --- a/cfgov/ask_cfpb/migrations/0008_add_footnotes.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.11 on 2024-07-02 17:02 - -from django.db import migrations -import wagtail_footnotes.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', '0007_move_tip_to_ask'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('tip', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(features=['link', 'document-link'], label='Tip'))], label='Tip (floats right)')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('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='Google Schema - How To')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('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='Google Schema - FAQ'))], blank=True, verbose_name='Answer'), - ), - ] diff --git a/cfgov/ask_cfpb/migrations/0009_add_table_caption.py b/cfgov/ask_cfpb/migrations/0009_add_table_caption.py deleted file mode 100644 index 3ceefbbaef4..00000000000 --- a/cfgov/ask_cfpb/migrations/0009_add_table_caption.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.2.16 on 2024-09-23 13:54 - -from django.db import migrations -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('ask_cfpb', '0008_add_footnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='answerpage', - name='answer_content', - field=wagtail.fields.StreamField([('text', 2), ('table', 14), ('tip', 16), ('video_player', 19), ('how_to_schema', 33), ('faq_schema', 38)], blank=True, block_lookup={0: ('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}), 1: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'h2', 'h3', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], 'label': 'Text'}), 2: ('wagtail.blocks.StructBlock', [[('anchor_tag', 0), ('content', 1)]], {}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 6: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 4), ('icon', 5)]], {'required': False}), 7: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 8: ('wagtail.blocks.CharBlock', (), {}), 9: ('wagtail.blocks.FloatBlock', (), {}), 10: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 11: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 12: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 8), ('numeric', 9), ('rich_text', 10), ('rich_text_with_footnotes', 11)]], {}), 13: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 14: ('wagtail.blocks.StructBlock', [[('heading', 6), ('text_introduction', 3), ('options', 7), ('data', 12), ('caption', 13)]], {}), 15: ('wagtail.blocks.RichTextBlock', (), {'features': ['link', 'document-link'], 'label': 'Tip'}), 16: ('wagtail.blocks.StructBlock', [[('content', 15)]], {'label': 'Tip (floats right)'}), 17: ('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}), 18: ('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}), 19: ('wagtail.blocks.StructBlock', [[('video_id', 17), ('thumbnail_image', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'label': 'Title of How To section', 'max_length': 500}), 21: ('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'}), 22: ('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}), 23: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'features': ['ol', 'ul', 'bold', 'italic', 'link', 'document-link'], 'required': False}), 24: ('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'}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this box to display numbers before step titles. ', 'label': 'Show numbers for steps', 'required': False}), 26: ('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}), 27: ('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}), 28: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'h3', 'h4', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'], 'label': 'Text'}), 29: ('wagtail.blocks.StructBlock', [[('content', 28)]], {}), 30: ('wagtail.blocks.StreamBlock', [[('text', 29), ('table', 14), ('video_player', 19)]], {}), 31: ('wagtail.blocks.StructBlock', [[('anchor_tag', 26), ('title', 27), ('step_content', 30)]], {}), 32: ('wagtail.blocks.ListBlock', (31,), {}), 33: ('wagtail.blocks.StructBlock', [[('title', 20), ('title_tag', 21), ('show_title', 22), ('description', 23), ('step_title_tag', 24), ('has_numbers', 25), ('steps', 32)]], {'label': 'Google Schema - How To'}), 34: ('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}), 35: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 36: ('wagtail.blocks.StructBlock', [[('anchor_tag', 34), ('question', 35), ('answer_content', 30)]], {}), 37: ('wagtail.blocks.ListBlock', (36,), {}), 38: ('wagtail.blocks.StructBlock', [[('description', 23), ('questions', 37)]], {'label': 'Google Schema - FAQ'})}, verbose_name='Answer'), - ), - ] diff --git a/cfgov/cdntools/management/commands/purge_by_cache_tags.py b/cfgov/cdntools/management/commands/purge_by_cache_tags.py index 46fadf182b2..806724d5d31 100644 --- a/cfgov/cdntools/management/commands/purge_by_cache_tags.py +++ b/cfgov/cdntools/management/commands/purge_by_cache_tags.py @@ -11,7 +11,7 @@ def add_arguments(self, parser): "--cache_tag", required=True, nargs="+", - help=("The cache tag to invalidate " "(can specify multiple)"), + help=("The cache tag to invalidate (can specify multiple)"), ) parser.add_argument( "--action", diff --git a/cfgov/cfgov/settings/base.py b/cfgov/cfgov/settings/base.py index 405f9e2229f..c607d19e1f0 100644 --- a/cfgov/cfgov/settings/base.py +++ b/cfgov/cfgov/settings/base.py @@ -368,6 +368,7 @@ os.getenv("ES_USER", "admin"), os.getenv("ES_PASS", "admin"), ), + "use_ssl": True, "verify_certs": False, } } @@ -637,18 +638,6 @@ "PATH_MATCHES_FOR_QUALTRICS": [], # Whether robots.txt should block all robots, except for Search.gov. "ROBOTS_TXT_SEARCH_GOV_ONLY": [("environment is", "beta")], - # TCCP credit card finder - "TCCP": [ - ("environment is", "dev4"), - ("environment is", "local"), - ("environment is", "test"), - ], - # Spanish homepage - "SPANISH_HOMEPAGE": [ - ("environment is", "dev5"), - ("environment is", "local"), - ("environment is", "test"), - ], } REGULATIONS_REFERENCE_MAPPING = [ diff --git a/cfgov/cfgov/settings/local.py b/cfgov/cfgov/settings/local.py index 96e4ed856e5..ec6b82b9cc8 100644 --- a/cfgov/cfgov/settings/local.py +++ b/cfgov/cfgov/settings/local.py @@ -102,3 +102,6 @@ # If DEPLOY_ENVIRONMENT hasn't been set by the environment in base.py, # default it to local. DEPLOY_ENVIRONMENT = DEPLOY_ENVIRONMENT or "local" + +# Disable use_ssl for functional tests +OPENSEARCH_DSL["default"]["use_ssl"] = False \ No newline at end of file diff --git a/cfgov/cfgov/settings/test.py b/cfgov/cfgov/settings/test.py index 3ac5ec358a0..a50cf13331b 100644 --- a/cfgov/cfgov/settings/test.py +++ b/cfgov/cfgov/settings/test.py @@ -66,6 +66,10 @@ OPENSEARCH_DSL_AUTO_REFRESH = False OPENSEARCH_DSL_AUTOSYNC = False +# Disable `use_ssl` for unit tests +OPENSEARCH_DSL["default"]["use_ssl"] = False + + SKIP_DJANGO_MIGRATIONS = os.getenv("SKIP_DJANGO_MIGRATIONS", False) if SKIP_DJANGO_MIGRATIONS: for _db in DATABASES.values(): diff --git a/cfgov/cfgov/urls.py b/cfgov/cfgov/urls.py index 80953afc54c..a25fdacf7ab 100644 --- a/cfgov/cfgov/urls.py +++ b/cfgov/cfgov/urls.py @@ -625,7 +625,7 @@ def handle_error(code, request, exception=None): # the results of a security scan, or a malformed static file reference. return HttpResponse( - "This request could not be processed, " f"HTTP Error {str(code)}.", + f"This request could not be processed, HTTP Error {str(code)}.", status=code, ) diff --git a/cfgov/core/management/commands/inactive_users.py b/cfgov/core/management/commands/inactive_users.py index d9e9a213cf5..d64fdc3f9a0 100644 --- a/cfgov/core/management/commands/inactive_users.py +++ b/cfgov/core/management/commands/inactive_users.py @@ -83,7 +83,7 @@ def handle(self, *args, **options): # Notify specified emails (e.g. system admins) if len(emails) > 0: self.stdout.write( - "Sending inactive user list to " "{}\n".format( + "Sending inactive user list to {}\n".format( ",".join(emails) ) ) 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 cc579ba2978..d92fac6566a 100644 --- a/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py +++ b/cfgov/data_research/migrations/0001_squashed_0003_delete_conferenceregistration.py @@ -8,7 +8,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('v1', '0001_squashed_0254_delete_campaignpage'), + ('v1', '0001_2024_squash'), ] operations = [ diff --git a/cfgov/data_research/tests/test_scripts.py b/cfgov/data_research/tests/test_scripts.py index 42bad04ee53..f1e5b6c1b9a 100644 --- a/cfgov/data_research/tests/test_scripts.py +++ b/cfgov/data_research/tests/test_scripts.py @@ -135,12 +135,10 @@ def test_dump_as_csv(self): self.assertEqual(content.strip(), ",".join(self.data_row)) - @mock.patch( - "data_research.scripts.process_mortgage_data." "read_in_s3_csv" - ) - @mock.patch("data_research.scripts.process_mortgage_data." "dump_as_csv") - @mock.patch("data_research.scripts.process_mortgage_data." "load_counties") - @mock.patch("data_research.scripts.process_mortgage_data." "load_states") + @mock.patch("data_research.scripts.process_mortgage_data.read_in_s3_csv") + @mock.patch("data_research.scripts.process_mortgage_data.dump_as_csv") + @mock.patch("data_research.scripts.process_mortgage_data.load_counties") + @mock.patch("data_research.scripts.process_mortgage_data.load_states") def test_process_source( self, mock_states, mock_counties, mock_dump, mock_read ): @@ -177,9 +175,7 @@ def test_process_source( self.assertEqual(mock_counties.call_count, 1) self.assertEqual(mock_states.call_count, 1) - @mock.patch( - "data_research.scripts.process_mortgage_data." "process_source" - ) + @mock.patch("data_research.scripts.process_mortgage_data.process_source") @mock.patch( "data_research.scripts.process_mortgage_data." "update_through_date_constant" @@ -193,7 +189,7 @@ def test_process_source( "update_county_msa_meta.run" ) @mock.patch( - "data_research.scripts.process_mortgage_data." "export_public_csvs.run" + "data_research.scripts.process_mortgage_data.export_public_csvs.run" ) def test_run_command( self, @@ -237,9 +233,7 @@ def setUp(self): ) # real values from a base CSV row - self.data_header = ( - "date,fips,open,current,thirty,sixty,ninety," "other\n" - ) + self.data_header = "date,fips,open,current,thirty,sixty,ninety,other\n" self.data_row = "09/01/16,12081,1952,1905,21,5,10,11\n" self.data_row_dict = { "date": "09/01/16", @@ -639,7 +633,7 @@ def test_load_national_values(self): self.assertEqual(NationalMortgageData.objects.count(), 1) @mock.patch( - "data_research.scripts." "load_mortgage_performance_csv.read_in_s3_csv" + "data_research.scripts.load_mortgage_performance_csv.read_in_s3_csv" ) def test_load_values(self, mock_read_in): mock_read_in.return_value = [ @@ -660,7 +654,7 @@ def test_load_values(self, mock_read_in): self.assertEqual(CountyMortgageData.objects.count(), 1) @mock.patch( - "data_research.scripts." "load_mortgage_performance_csv.read_in_s3_csv" + "data_research.scripts.load_mortgage_performance_csv.read_in_s3_csv" ) def test_load_values_return_fips(self, mock_read_in): mock_read_in.return_value = [ @@ -681,11 +675,10 @@ def test_load_values_return_fips(self, mock_read_in): self.assertEqual(fips_list, ["12081"]) @mock.patch( - "data_research.scripts." - "load_mortgage_aggregates.update_sampling_dates" + "data_research.scripts.load_mortgage_aggregates.update_sampling_dates" ) @mock.patch( - "data_research.scripts." "load_mortgage_aggregates.validate_counties" + "data_research.scripts.load_mortgage_aggregates.validate_counties" ) def test_run_aggregates(self, mock_validate_counties, mock_update_dates): dates = MortgageMetaData.objects.get(name="sampling_dates") @@ -844,7 +837,7 @@ def load_fips(self, mock_obj): mock_obj.county_fips = self.counties return mock_obj - @mock.patch("data_research.scripts." "update_county_msa_meta.FIPS") + @mock.patch("data_research.scripts.update_county_msa_meta.FIPS") def test_update_msa_meta(self, mock_FIPS): mock_FIPS = self.load_fips(mock_FIPS) self.assertFalse( @@ -859,7 +852,7 @@ def test_update_msa_meta(self, mock_FIPS): ).json_value self.assertEqual(len(test_json), 2) - @mock.patch("data_research.scripts." "update_county_msa_meta.FIPS") + @mock.patch("data_research.scripts.update_county_msa_meta.FIPS") def test_update_county_meta(self, mock_FIPS): mock_FIPS = self.load_fips(mock_FIPS) self.assertFalse( @@ -876,8 +869,7 @@ class UpdateStateMsaDropdownTests(django.test.TestCase): fixtures = ["mortgage_constants.json", "mortgage_metadata.json"] @mock.patch( - "data_research.scripts." - "update_county_msa_meta.update_state_to_geo_meta" + "data_research.scripts.update_county_msa_meta.update_state_to_geo_meta" ) def test_run_rebuild(self, mock_update): run_update() diff --git a/cfgov/filing_instruction_guide/migrations/0001_2024_squash.py b/cfgov/filing_instruction_guide/migrations/0001_2024_squash.py new file mode 100644 index 00000000000..347ef5a17df --- /dev/null +++ b/cfgov/filing_instruction_guide/migrations/0001_2024_squash.py @@ -0,0 +1,126 @@ +# Generated by Django 4.2.17 on 2024-12-26 15:55 + +import datetime +from django.db import migrations, models +import django.db.migrations.operations.special +import django.db.models.deletion +import modelcluster.fields +import wagtail.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('v1', '0001_2024_squash'), + ] + + 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', 102), ('Fig_Subsection', 105), ('Fig_Level_3_Subsection', 107)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_larger_heading', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line above this block.', 'required': False}), 58: ('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}), 59: ('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}), 60: ('wagtail.blocks.CharBlock', (), {'help_text': 'E.g., "Download" or "Order free prints"'}), 61: ('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'}), 62: ('wagtail.blocks.StructBlock', [[('link_label', 60), ('snippet_field', 61)]], {}), 63: ('wagtail.blocks.ListBlock', (62,), {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Tag'}), 65: ('wagtail.blocks.ListBlock', (64,), {'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.'}), 66: ('wagtail.blocks.StructBlock', [[('heading', 4), ('body', 8), ('has_top_rule_line', 57), ('image', 15), ('actions_column_width', 58), ('show_thumbnails', 59), ('actions', 63), ('tags', 65)]], {}), 67: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 68: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 69: ('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}), 70: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 71: ('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}), 72: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 73: ('wagtail.blocks.RichTextBlock', (), {}), 74: ('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}), 75: ('wagtail.blocks.StructBlock', [[('link_id', 74)]], {}), 76: ('wagtail.blocks.StructBlock', [[('content_block', 73), ('anchor_link', 75)]], {}), 77: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 78: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 79: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 80: ('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}), 81: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 77), ('image_position', 78), ('text', 79), ('is_bottom_rule', 80)]], {}), 82: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 83: ('wagtail.blocks.CharBlock', (), {}), 84: ('wagtail.blocks.FloatBlock', (), {}), 85: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 86: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 83), ('numeric', 84), ('rich_text', 85)]], {}), 87: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 82), ('data', 86)]], {}), 88: ('wagtail.blocks.TextBlock', (), {}), 89: ('wagtail.blocks.StructBlock', [[('body', 88), ('citation', 29)]], {}), 90: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 91: ('wagtail.blocks.ListBlock', (21,), {}), 92: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 91)]], {}), 93: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 94: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 95: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 76), ('heading', 7), ('image', 81), ('table', 87), ('quote', 89), ('cta', 90), ('related_links', 92), ('reusable_text', 93), ('email_signup', 94), ('well', 27)]], {}), 96: ('wagtail.blocks.StreamBlock', [[('full_width_text', 95), ('info_unit_group', 25)]], {}), 97: ('wagtail.blocks.StructBlock', [[('anchor_tag', 71), ('question', 72), ('answer', 96)]], {}), 98: ('wagtail.blocks.ListBlock', (97,), {'label': 'FAQ items'}), 99: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 68), ('lines_between_items', 69), ('question_tag', 70), ('faq_items', 98)]], {}), 100: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 101: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('snippet_list', 66), ('raw_html_block', 67), ('faq_group', 99), ('data_points_block', 100)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 102: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 101)]], {}), 103: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 104: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('snippet_list', 66), ('raw_html_block', 67), ('faq_group', 99)]], {'required': False}), 105: ('wagtail.blocks.StructBlock', [[('header', 103), ('section_id', 1), ('content', 104)]], {}), 106: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 107: ('wagtail.blocks.StructBlock', [[('header', 106), ('section_id', 1), ('content', 104)]], {})})), + ('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', 98)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_larger_heading', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line above this block.', 'required': False}), 56: ('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}), 57: ('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}), 58: ('wagtail.blocks.CharBlock', (), {'help_text': 'E.g., "Download" or "Order free prints"'}), 59: ('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'}), 60: ('wagtail.blocks.StructBlock', [[('link_label', 58), ('snippet_field', 59)]], {}), 61: ('wagtail.blocks.ListBlock', (60,), {}), 62: ('wagtail.blocks.CharBlock', (), {'label': 'Tag'}), 63: ('wagtail.blocks.ListBlock', (62,), {'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.'}), 64: ('wagtail.blocks.StructBlock', [[('heading', 2), ('body', 6), ('has_top_rule_line', 55), ('image', 13), ('actions_column_width', 56), ('show_thumbnails', 57), ('actions', 61), ('tags', 63)]], {}), 65: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 67: ('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}), 68: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 69: ('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}), 70: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 71: ('wagtail.blocks.RichTextBlock', (), {}), 72: ('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}), 73: ('wagtail.blocks.StructBlock', [[('link_id', 72)]], {}), 74: ('wagtail.blocks.StructBlock', [[('content_block', 71), ('anchor_link', 73)]], {}), 75: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 76: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 77: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 78: ('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}), 79: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 75), ('image_position', 76), ('text', 77), ('is_bottom_rule', 78)]], {}), 80: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 81: ('wagtail.blocks.CharBlock', (), {}), 82: ('wagtail.blocks.FloatBlock', (), {}), 83: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 84: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 81), ('numeric', 82), ('rich_text', 83)]], {}), 85: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 80), ('data', 84)]], {}), 86: ('wagtail.blocks.TextBlock', (), {}), 87: ('wagtail.blocks.StructBlock', [[('body', 86), ('citation', 27)]], {}), 88: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 89: ('wagtail.blocks.ListBlock', (19,), {}), 90: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 89)]], {}), 91: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 92: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 93: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 74), ('heading', 5), ('image', 79), ('table', 85), ('quote', 87), ('cta', 88), ('related_links', 90), ('reusable_text', 91), ('email_signup', 92), ('well', 25)]], {}), 94: ('wagtail.blocks.StreamBlock', [[('full_width_text', 93), ('info_unit_group', 23)]], {}), 95: ('wagtail.blocks.StructBlock', [[('anchor_tag', 69), ('question', 70), ('answer', 94)]], {}), 96: ('wagtail.blocks.ListBlock', (95,), {'label': 'FAQ items'}), 97: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 66), ('lines_between_items', 67), ('question_tag', 68), ('faq_items', 96)]], {}), 98: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('snippet_list', 64), ('raw_html_block', 65), ('faq_group', 97)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})})), + ], + 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')), + ], + ), + migrations.RunPython( + code=django.db.migrations.operations.special.RunPython.noop, + reverse_code=django.db.migrations.operations.special.RunPython.noop, + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 92), ('Fig_Subsection', 95), ('Fig_Level_3_Subsection', 97)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_larger_heading', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 59: ('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}), 60: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 61: ('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}), 62: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 63: ('wagtail.blocks.RichTextBlock', (), {}), 64: ('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}), 65: ('wagtail.blocks.StructBlock', [[('link_id', 64)]], {}), 66: ('wagtail.blocks.StructBlock', [[('content_block', 63), ('anchor_link', 65)]], {}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 68: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 69: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 70: ('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}), 71: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 67), ('image_position', 68), ('text', 69), ('is_bottom_rule', 70)]], {}), 72: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 73: ('wagtail.blocks.CharBlock', (), {}), 74: ('wagtail.blocks.FloatBlock', (), {}), 75: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 76: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 73), ('numeric', 74), ('rich_text', 75)]], {}), 77: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 72), ('data', 76)]], {}), 78: ('wagtail.blocks.TextBlock', (), {}), 79: ('wagtail.blocks.StructBlock', [[('body', 78), ('citation', 29)]], {}), 80: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 81: ('wagtail.blocks.ListBlock', (21,), {}), 82: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 81)]], {}), 83: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 84: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 85: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 66), ('heading', 7), ('image', 71), ('table', 77), ('quote', 79), ('cta', 80), ('related_links', 82), ('reusable_text', 83), ('email_signup', 84), ('well', 27)]], {}), 86: ('wagtail.blocks.StreamBlock', [[('full_width_text', 85), ('info_unit_group', 25)]], {}), 87: ('wagtail.blocks.StructBlock', [[('anchor_tag', 61), ('question', 62), ('answer', 86)]], {}), 88: ('wagtail.blocks.ListBlock', (87,), {'label': 'FAQ items'}), 89: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 58), ('lines_between_items', 59), ('question_tag', 60), ('faq_items', 88)]], {}), 90: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 91: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 89), ('data_points_block', 90)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 92: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 91)]], {}), 93: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 94: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 89)]], {'required': False}), 95: ('wagtail.blocks.StructBlock', [[('header', 93), ('section_id', 1), ('content', 94)]], {}), 96: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 97: ('wagtail.blocks.StructBlock', [[('header', 96), ('section_id', 1), ('content', 94)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 88)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_larger_heading', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 57: ('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}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 59: ('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}), 60: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 61: ('wagtail.blocks.RichTextBlock', (), {}), 62: ('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}), 63: ('wagtail.blocks.StructBlock', [[('link_id', 62)]], {}), 64: ('wagtail.blocks.StructBlock', [[('content_block', 61), ('anchor_link', 63)]], {}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 66: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 67: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 68: ('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}), 69: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 65), ('image_position', 66), ('text', 67), ('is_bottom_rule', 68)]], {}), 70: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 71: ('wagtail.blocks.CharBlock', (), {}), 72: ('wagtail.blocks.FloatBlock', (), {}), 73: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 74: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 71), ('numeric', 72), ('rich_text', 73)]], {}), 75: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 70), ('data', 74)]], {}), 76: ('wagtail.blocks.TextBlock', (), {}), 77: ('wagtail.blocks.StructBlock', [[('body', 76), ('citation', 27)]], {}), 78: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 79: ('wagtail.blocks.ListBlock', (19,), {}), 80: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 79)]], {}), 81: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 82: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 83: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 64), ('heading', 5), ('image', 69), ('table', 75), ('quote', 77), ('cta', 78), ('related_links', 80), ('reusable_text', 81), ('email_signup', 82), ('well', 25)]], {}), 84: ('wagtail.blocks.StreamBlock', [[('full_width_text', 83), ('info_unit_group', 23)]], {}), 85: ('wagtail.blocks.StructBlock', [[('anchor_tag', 59), ('question', 60), ('answer', 84)]], {}), 86: ('wagtail.blocks.ListBlock', (85,), {'label': 'FAQ items'}), 87: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 56), ('lines_between_items', 57), ('question_tag', 58), ('faq_items', 86)]], {}), 88: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('faq_group', 87)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 93), ('Fig_Subsection', 96), ('Fig_Level_3_Subsection', 98)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_larger_heading', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 59: ('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}), 60: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 61: ('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}), 62: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 63: ('wagtail.blocks.RichTextBlock', (), {}), 64: ('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}), 65: ('wagtail.blocks.StructBlock', [[('link_id', 64)]], {}), 66: ('wagtail.blocks.StructBlock', [[('content_block', 63), ('anchor_link', 65)]], {}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 68: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 69: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 70: ('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}), 71: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 67), ('image_position', 68), ('text', 69), ('is_bottom_rule', 70)]], {}), 72: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 73: ('wagtail.blocks.CharBlock', (), {}), 74: ('wagtail.blocks.FloatBlock', (), {}), 75: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 76: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 73), ('numeric', 74), ('rich_text', 75)]], {}), 77: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 72), ('data', 76)]], {}), 78: ('wagtail.blocks.TextBlock', (), {}), 79: ('wagtail.blocks.StructBlock', [[('body', 78), ('citation', 29)]], {}), 80: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 81: ('wagtail.blocks.ListBlock', (21,), {}), 82: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 81)]], {}), 83: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 84: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 85: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 86: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 66), ('heading', 7), ('image', 71), ('table', 77), ('quote', 79), ('cta', 80), ('related_links', 82), ('reusable_text', 83), ('reusable_notification', 84), ('email_signup', 85), ('well', 27)]], {}), 87: ('wagtail.blocks.StreamBlock', [[('full_width_text', 86), ('info_unit_group', 25)]], {}), 88: ('wagtail.blocks.StructBlock', [[('anchor_tag', 61), ('question', 62), ('answer', 87)]], {}), 89: ('wagtail.blocks.ListBlock', (88,), {'label': 'FAQ items'}), 90: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 58), ('lines_between_items', 59), ('question_tag', 60), ('faq_items', 89)]], {}), 91: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 92: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 90), ('data_points_block', 91)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 93: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 92)]], {}), 94: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 95: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 90)]], {'required': False}), 96: ('wagtail.blocks.StructBlock', [[('header', 94), ('section_id', 1), ('content', 95)]], {}), 97: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 98: ('wagtail.blocks.StructBlock', [[('header', 97), ('section_id', 1), ('content', 95)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 89)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_larger_heading', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 57: ('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}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 59: ('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}), 60: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 61: ('wagtail.blocks.RichTextBlock', (), {}), 62: ('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}), 63: ('wagtail.blocks.StructBlock', [[('link_id', 62)]], {}), 64: ('wagtail.blocks.StructBlock', [[('content_block', 61), ('anchor_link', 63)]], {}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 66: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 67: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 68: ('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}), 69: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 65), ('image_position', 66), ('text', 67), ('is_bottom_rule', 68)]], {}), 70: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 71: ('wagtail.blocks.CharBlock', (), {}), 72: ('wagtail.blocks.FloatBlock', (), {}), 73: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 74: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 71), ('numeric', 72), ('rich_text', 73)]], {}), 75: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 70), ('data', 74)]], {}), 76: ('wagtail.blocks.TextBlock', (), {}), 77: ('wagtail.blocks.StructBlock', [[('body', 76), ('citation', 27)]], {}), 78: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 79: ('wagtail.blocks.ListBlock', (19,), {}), 80: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 79)]], {}), 81: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 82: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 83: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 84: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 64), ('heading', 5), ('image', 69), ('table', 75), ('quote', 77), ('cta', 78), ('related_links', 80), ('reusable_text', 81), ('reusable_notification', 82), ('email_signup', 83), ('well', 25)]], {}), 85: ('wagtail.blocks.StreamBlock', [[('full_width_text', 84), ('info_unit_group', 23)]], {}), 86: ('wagtail.blocks.StructBlock', [[('anchor_tag', 59), ('question', 60), ('answer', 85)]], {}), 87: ('wagtail.blocks.ListBlock', (86,), {'label': 'FAQ items'}), 88: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 56), ('lines_between_items', 57), ('question_tag', 58), ('faq_items', 87)]], {}), 89: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('faq_group', 88)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 93), ('Fig_Subsection', 96), ('Fig_Level_3_Subsection', 98)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 59: ('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}), 60: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 61: ('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}), 62: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 63: ('wagtail.blocks.RichTextBlock', (), {}), 64: ('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}), 65: ('wagtail.blocks.StructBlock', [[('link_id', 64)]], {}), 66: ('wagtail.blocks.StructBlock', [[('content_block', 63), ('anchor_link', 65)]], {}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 68: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 69: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 70: ('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}), 71: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 67), ('image_position', 68), ('text', 69), ('is_bottom_rule', 70)]], {}), 72: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 73: ('wagtail.blocks.CharBlock', (), {}), 74: ('wagtail.blocks.FloatBlock', (), {}), 75: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 76: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 73), ('numeric', 74), ('rich_text', 75)]], {}), 77: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 72), ('data', 76)]], {}), 78: ('wagtail.blocks.TextBlock', (), {}), 79: ('wagtail.blocks.StructBlock', [[('body', 78), ('citation', 29)]], {}), 80: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 81: ('wagtail.blocks.ListBlock', (21,), {}), 82: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 81)]], {}), 83: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 84: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 85: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 86: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 66), ('heading', 7), ('image', 71), ('table', 77), ('quote', 79), ('cta', 80), ('related_links', 82), ('reusable_text', 83), ('reusable_notification', 84), ('email_signup', 85), ('well', 27)]], {}), 87: ('wagtail.blocks.StreamBlock', [[('full_width_text', 86), ('info_unit_group', 25)]], {}), 88: ('wagtail.blocks.StructBlock', [[('anchor_tag', 61), ('question', 62), ('answer', 87)]], {}), 89: ('wagtail.blocks.ListBlock', (88,), {'label': 'FAQ items'}), 90: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 58), ('lines_between_items', 59), ('question_tag', 60), ('faq_items', 89)]], {}), 91: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 92: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 90), ('data_points_block', 91)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 93: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 92)]], {}), 94: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 95: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('faq_group', 90)]], {'required': False}), 96: ('wagtail.blocks.StructBlock', [[('header', 94), ('section_id', 1), ('content', 95)]], {}), 97: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 98: ('wagtail.blocks.StructBlock', [[('header', 97), ('section_id', 1), ('content', 95)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 89)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 57: ('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}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 59: ('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}), 60: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 61: ('wagtail.blocks.RichTextBlock', (), {}), 62: ('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}), 63: ('wagtail.blocks.StructBlock', [[('link_id', 62)]], {}), 64: ('wagtail.blocks.StructBlock', [[('content_block', 61), ('anchor_link', 63)]], {}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 66: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 67: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 68: ('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}), 69: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 65), ('image_position', 66), ('text', 67), ('is_bottom_rule', 68)]], {}), 70: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 71: ('wagtail.blocks.CharBlock', (), {}), 72: ('wagtail.blocks.FloatBlock', (), {}), 73: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 74: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 71), ('numeric', 72), ('rich_text', 73)]], {}), 75: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 70), ('data', 74)]], {}), 76: ('wagtail.blocks.TextBlock', (), {}), 77: ('wagtail.blocks.StructBlock', [[('body', 76), ('citation', 27)]], {}), 78: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 79: ('wagtail.blocks.ListBlock', (19,), {}), 80: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 79)]], {}), 81: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 82: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 83: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 84: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 64), ('heading', 5), ('image', 69), ('table', 75), ('quote', 77), ('cta', 78), ('related_links', 80), ('reusable_text', 81), ('reusable_notification', 82), ('email_signup', 83), ('well', 25)]], {}), 85: ('wagtail.blocks.StreamBlock', [[('full_width_text', 84), ('info_unit_group', 23)]], {}), 86: ('wagtail.blocks.StructBlock', [[('anchor_tag', 59), ('question', 60), ('answer', 85)]], {}), 87: ('wagtail.blocks.ListBlock', (86,), {'label': 'FAQ items'}), 88: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 56), ('lines_between_items', 57), ('question_tag', 58), ('faq_items', 87)]], {}), 89: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('faq_group', 88)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 98), ('Fig_Subsection', 101), ('Fig_Level_3_Subsection', 103)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 59: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 60: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 61: ('wagtail.blocks.ListBlock', (21,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 62: ('wagtail.blocks.StructBlock', [[('type', 58), ('message', 59), ('explanation', 60), ('links', 61)]], {}), 63: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 64: ('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}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 66: ('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}), 67: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 68: ('wagtail.blocks.RichTextBlock', (), {}), 69: ('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}), 70: ('wagtail.blocks.StructBlock', [[('link_id', 69)]], {}), 71: ('wagtail.blocks.StructBlock', [[('content_block', 68), ('anchor_link', 70)]], {}), 72: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 73: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 74: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 75: ('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}), 76: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 72), ('image_position', 73), ('text', 74), ('is_bottom_rule', 75)]], {}), 77: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 78: ('wagtail.blocks.CharBlock', (), {}), 79: ('wagtail.blocks.FloatBlock', (), {}), 80: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 81: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 78), ('numeric', 79), ('rich_text', 80)]], {}), 82: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 77), ('data', 81)]], {}), 83: ('wagtail.blocks.TextBlock', (), {}), 84: ('wagtail.blocks.StructBlock', [[('body', 83), ('citation', 29)]], {}), 85: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 86: ('wagtail.blocks.ListBlock', (21,), {}), 87: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 86)]], {}), 88: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 89: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 90: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 91: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 71), ('heading', 7), ('image', 76), ('table', 82), ('quote', 84), ('cta', 85), ('related_links', 87), ('reusable_text', 88), ('reusable_notification', 89), ('email_signup', 90), ('well', 27)]], {}), 92: ('wagtail.blocks.StreamBlock', [[('full_width_text', 91), ('info_unit_group', 25)]], {}), 93: ('wagtail.blocks.StructBlock', [[('anchor_tag', 66), ('question', 67), ('answer', 92)]], {}), 94: ('wagtail.blocks.ListBlock', (93,), {'label': 'FAQ items'}), 95: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 63), ('lines_between_items', 64), ('question_tag', 65), ('faq_items', 94)]], {}), 96: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 97: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 95), ('data_points_block', 96)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 98: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 97)]], {}), 99: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 100: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 95)]], {'required': False}), 101: ('wagtail.blocks.StructBlock', [[('header', 99), ('section_id', 1), ('content', 100)]], {}), 102: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 103: ('wagtail.blocks.StructBlock', [[('header', 102), ('section_id', 1), ('content', 100)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 94)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 57: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 58: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 59: ('wagtail.blocks.ListBlock', (19,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('type', 56), ('message', 57), ('explanation', 58), ('links', 59)]], {}), 61: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 62: ('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}), 63: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 64: ('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}), 65: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 66: ('wagtail.blocks.RichTextBlock', (), {}), 67: ('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}), 68: ('wagtail.blocks.StructBlock', [[('link_id', 67)]], {}), 69: ('wagtail.blocks.StructBlock', [[('content_block', 66), ('anchor_link', 68)]], {}), 70: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 71: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 72: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 73: ('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}), 74: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 70), ('image_position', 71), ('text', 72), ('is_bottom_rule', 73)]], {}), 75: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 76: ('wagtail.blocks.CharBlock', (), {}), 77: ('wagtail.blocks.FloatBlock', (), {}), 78: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 79: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 76), ('numeric', 77), ('rich_text', 78)]], {}), 80: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 75), ('data', 79)]], {}), 81: ('wagtail.blocks.TextBlock', (), {}), 82: ('wagtail.blocks.StructBlock', [[('body', 81), ('citation', 27)]], {}), 83: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 84: ('wagtail.blocks.ListBlock', (19,), {}), 85: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 84)]], {}), 86: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 87: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 88: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 89: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 69), ('heading', 5), ('image', 74), ('table', 80), ('quote', 82), ('cta', 83), ('related_links', 85), ('reusable_text', 86), ('reusable_notification', 87), ('email_signup', 88), ('well', 25)]], {}), 90: ('wagtail.blocks.StreamBlock', [[('full_width_text', 89), ('info_unit_group', 23)]], {}), 91: ('wagtail.blocks.StructBlock', [[('anchor_tag', 64), ('question', 65), ('answer', 90)]], {}), 92: ('wagtail.blocks.ListBlock', (91,), {'label': 'FAQ items'}), 93: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 61), ('lines_between_items', 62), ('question_tag', 63), ('faq_items', 92)]], {}), 94: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('notification', 60), ('faq_group', 93)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 100), ('Fig_Subsection', 103), ('Fig_Level_3_Subsection', 105)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 59: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 60: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 61: ('wagtail.blocks.ListBlock', (21,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 62: ('wagtail.blocks.StructBlock', [[('type', 58), ('message', 59), ('explanation', 60), ('links', 61)]], {}), 63: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 64: ('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}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 66: ('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}), 67: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 68: ('wagtail.blocks.RichTextBlock', (), {}), 69: ('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}), 70: ('wagtail.blocks.StructBlock', [[('link_id', 69)]], {}), 71: ('wagtail.blocks.StructBlock', [[('content_block', 68), ('anchor_link', 70)]], {}), 72: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 73: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 74: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 75: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 76: ('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}), 77: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 73), ('image_position', 74), ('text', 75), ('is_bottom_rule', 76)]], {}), 78: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 79: ('wagtail.blocks.CharBlock', (), {}), 80: ('wagtail.blocks.FloatBlock', (), {}), 81: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 82: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 83: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 79), ('numeric', 80), ('rich_text', 81), ('rich_text_with_footnotes', 82)]], {}), 84: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 78), ('data', 83)]], {}), 85: ('wagtail.blocks.TextBlock', (), {}), 86: ('wagtail.blocks.StructBlock', [[('body', 85), ('citation', 29)]], {}), 87: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 88: ('wagtail.blocks.ListBlock', (21,), {}), 89: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 88)]], {}), 90: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 91: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 92: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 93: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 71), ('content_with_footnotes', 72), ('heading', 7), ('image', 77), ('table', 84), ('quote', 86), ('cta', 87), ('related_links', 89), ('reusable_text', 90), ('reusable_notification', 91), ('email_signup', 92), ('well', 27)]], {}), 94: ('wagtail.blocks.StreamBlock', [[('full_width_text', 93), ('info_unit_group', 25)]], {}), 95: ('wagtail.blocks.StructBlock', [[('anchor_tag', 66), ('question', 67), ('answer', 94)]], {}), 96: ('wagtail.blocks.ListBlock', (95,), {'label': 'FAQ items'}), 97: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 63), ('lines_between_items', 64), ('question_tag', 65), ('faq_items', 96)]], {}), 98: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 99: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 97), ('data_points_block', 98)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 100: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 99)]], {}), 101: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 102: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 97)]], {'required': False}), 103: ('wagtail.blocks.StructBlock', [[('header', 101), ('section_id', 1), ('content', 102)]], {}), 104: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 105: ('wagtail.blocks.StructBlock', [[('header', 104), ('section_id', 1), ('content', 102)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 96)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 57: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 58: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 59: ('wagtail.blocks.ListBlock', (19,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('type', 56), ('message', 57), ('explanation', 58), ('links', 59)]], {}), 61: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 62: ('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}), 63: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 64: ('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}), 65: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 66: ('wagtail.blocks.RichTextBlock', (), {}), 67: ('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}), 68: ('wagtail.blocks.StructBlock', [[('link_id', 67)]], {}), 69: ('wagtail.blocks.StructBlock', [[('content_block', 66), ('anchor_link', 68)]], {}), 70: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 71: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 72: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 73: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 74: ('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}), 75: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 71), ('image_position', 72), ('text', 73), ('is_bottom_rule', 74)]], {}), 76: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 77: ('wagtail.blocks.CharBlock', (), {}), 78: ('wagtail.blocks.FloatBlock', (), {}), 79: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 80: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 81: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 77), ('numeric', 78), ('rich_text', 79), ('rich_text_with_footnotes', 80)]], {}), 82: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 76), ('data', 81)]], {}), 83: ('wagtail.blocks.TextBlock', (), {}), 84: ('wagtail.blocks.StructBlock', [[('body', 83), ('citation', 27)]], {}), 85: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 86: ('wagtail.blocks.ListBlock', (19,), {}), 87: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 86)]], {}), 88: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 89: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 90: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 91: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 69), ('content_with_footnotes', 70), ('heading', 5), ('image', 75), ('table', 82), ('quote', 84), ('cta', 85), ('related_links', 87), ('reusable_text', 88), ('reusable_notification', 89), ('email_signup', 90), ('well', 25)]], {}), 92: ('wagtail.blocks.StreamBlock', [[('full_width_text', 91), ('info_unit_group', 23)]], {}), 93: ('wagtail.blocks.StructBlock', [[('anchor_tag', 64), ('question', 65), ('answer', 92)]], {}), 94: ('wagtail.blocks.ListBlock', (93,), {'label': 'FAQ items'}), 95: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 61), ('lines_between_items', 62), ('question_tag', 63), ('faq_items', 94)]], {}), 96: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('notification', 60), ('faq_group', 95)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='content', + field=wagtail.fields.StreamField([('Fig_Section', 101), ('Fig_Subsection', 104), ('Fig_Level_3_Subsection', 106)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 59: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 60: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 61: ('wagtail.blocks.ListBlock', (21,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 62: ('wagtail.blocks.StructBlock', [[('type', 58), ('message', 59), ('explanation', 60), ('links', 61)]], {}), 63: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 64: ('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}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 66: ('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}), 67: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 68: ('wagtail.blocks.RichTextBlock', (), {}), 69: ('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}), 70: ('wagtail.blocks.StructBlock', [[('link_id', 69)]], {}), 71: ('wagtail.blocks.StructBlock', [[('content_block', 68), ('anchor_link', 70)]], {}), 72: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 73: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 74: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 75: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 76: ('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}), 77: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 73), ('image_position', 74), ('text', 75), ('is_bottom_rule', 76)]], {}), 78: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 79: ('wagtail.blocks.CharBlock', (), {}), 80: ('wagtail.blocks.FloatBlock', (), {}), 81: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 82: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 83: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 79), ('numeric', 80), ('rich_text', 81), ('rich_text_with_footnotes', 82)]], {}), 84: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 85: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 78), ('data', 83), ('caption', 84)]], {}), 86: ('wagtail.blocks.TextBlock', (), {}), 87: ('wagtail.blocks.StructBlock', [[('body', 86), ('citation', 29)]], {}), 88: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 89: ('wagtail.blocks.ListBlock', (21,), {}), 90: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 89)]], {}), 91: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 92: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 93: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 94: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 71), ('content_with_footnotes', 72), ('heading', 7), ('image', 77), ('table', 85), ('quote', 87), ('cta', 88), ('related_links', 90), ('reusable_text', 91), ('reusable_notification', 92), ('email_signup', 93), ('well', 27)]], {}), 95: ('wagtail.blocks.StreamBlock', [[('full_width_text', 94), ('info_unit_group', 25)]], {}), 96: ('wagtail.blocks.StructBlock', [[('anchor_tag', 66), ('question', 67), ('answer', 95)]], {}), 97: ('wagtail.blocks.ListBlock', (96,), {'label': 'FAQ items'}), 98: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 63), ('lines_between_items', 64), ('question_tag', 65), ('faq_items', 97)]], {}), 99: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 100: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 98), ('data_points_block', 99)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 101: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 100)]], {}), 102: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 103: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 98)]], {'required': False}), 104: ('wagtail.blocks.StructBlock', [[('header', 102), ('section_id', 1), ('content', 103)]], {}), 105: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 106: ('wagtail.blocks.StructBlock', [[('header', 105), ('section_id', 1), ('content', 103)]], {})}), + ), + migrations.AlterField( + model_name='figcontentpage', + name='top_content', + field=wagtail.fields.StreamField([('top_content', 97)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 57: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 58: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 59: ('wagtail.blocks.ListBlock', (19,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('type', 56), ('message', 57), ('explanation', 58), ('links', 59)]], {}), 61: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 62: ('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}), 63: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 64: ('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}), 65: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 66: ('wagtail.blocks.RichTextBlock', (), {}), 67: ('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}), 68: ('wagtail.blocks.StructBlock', [[('link_id', 67)]], {}), 69: ('wagtail.blocks.StructBlock', [[('content_block', 66), ('anchor_link', 68)]], {}), 70: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 71: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 72: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 73: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 74: ('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}), 75: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 71), ('image_position', 72), ('text', 73), ('is_bottom_rule', 74)]], {}), 76: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 77: ('wagtail.blocks.CharBlock', (), {}), 78: ('wagtail.blocks.FloatBlock', (), {}), 79: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 80: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 81: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 77), ('numeric', 78), ('rich_text', 79), ('rich_text_with_footnotes', 80)]], {}), 82: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 83: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 76), ('data', 81), ('caption', 82)]], {}), 84: ('wagtail.blocks.TextBlock', (), {}), 85: ('wagtail.blocks.StructBlock', [[('body', 84), ('citation', 27)]], {}), 86: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 87: ('wagtail.blocks.ListBlock', (19,), {}), 88: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 87)]], {}), 89: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 90: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 91: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 92: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 69), ('content_with_footnotes', 70), ('heading', 5), ('image', 75), ('table', 83), ('quote', 85), ('cta', 86), ('related_links', 88), ('reusable_text', 89), ('reusable_notification', 90), ('email_signup', 91), ('well', 25)]], {}), 93: ('wagtail.blocks.StreamBlock', [[('full_width_text', 92), ('info_unit_group', 23)]], {}), 94: ('wagtail.blocks.StructBlock', [[('anchor_tag', 64), ('question', 65), ('answer', 93)]], {}), 95: ('wagtail.blocks.ListBlock', (94,), {'label': 'FAQ items'}), 96: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 61), ('lines_between_items', 62), ('question_tag', 63), ('faq_items', 95)]], {}), 97: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('notification', 60), ('faq_group', 96)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), + ), + ] 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 deleted file mode 100644 index 347b423c669..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0001_squashed_0014_new_table_block.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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/0002_deprecate_iug_sharing.py b/cfgov/filing_instruction_guide/migrations/0002_deprecate_iug_sharing.py deleted file mode 100644 index 5b3b3eb47e3..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0002_deprecate_iug_sharing.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-05 21:21 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0001_squashed_0014_new_table_block'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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/0003_deprecate_super_button.py b/cfgov/filing_instruction_guide/migrations/0003_deprecate_super_button.py deleted file mode 100644 index a7bb65d048e..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0003_deprecate_super_button.py +++ /dev/null @@ -1,32 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-22 17:15 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('filing_instruction_guide', '0002_deprecate_iug_sharing'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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/0004_remove_large_pull_quote.py b/cfgov/filing_instruction_guide/migrations/0004_remove_large_pull_quote.py deleted file mode 100644 index 7c8fddf549a..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0004_remove_large_pull_quote.py +++ /dev/null @@ -1,32 +0,0 @@ -# Generated by Django 3.2.20 on 2023-10-25 17:59 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('filing_instruction_guide', '0003_deprecate_super_button'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))]))]), 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/0005_add_table_intro.py b/cfgov/filing_instruction_guide/migrations/0005_add_table_intro.py deleted file mode 100644 index 78dc039a374..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0005_add_table_intro.py +++ /dev/null @@ -1,8121 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 17:43 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("filing_instruction_guide", "0004_remove_large_pull_quote"), - ] - - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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/0006_auto_20240201_1607.py b/cfgov/filing_instruction_guide/migrations/0006_auto_20240201_1607.py deleted file mode 100644 index f4c8b650cb6..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0006_auto_20240201_1607.py +++ /dev/null @@ -1,8121 +0,0 @@ -# Generated by Django 3.2.23 on 2024-02-01 21:07 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import filing_instruction_guide.blocks -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("filing_instruction_guide", "0005_add_table_intro"), - ] - - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ( - "rounded", - "Rounded corners", - ), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ] - ), - ), - ] - ), - 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/0007_raw_html_affordances.py b/cfgov/filing_instruction_guide/migrations/0007_raw_html_affordances.py deleted file mode 100644 index 6c6168d224d..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0007_raw_html_affordances.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-05 19:48 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0006_auto_20240201_1607'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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/0008_rtf_to_urtf.py b/cfgov/filing_instruction_guide/migrations/0008_rtf_to_urtf.py deleted file mode 100644 index 582b4e886c6..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0008_rtf_to_urtf.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-12 18:00 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0007_raw_html_affordances'), - ] - - operations = [ - migrations.RunPython(code=migrations.RunPython.noop, reverse_code=migrations.RunPython.noop) - ] diff --git a/cfgov/filing_instruction_guide/migrations/0009_remove_resource_list.py b/cfgov/filing_instruction_guide/migrations/0009_remove_resource_list.py deleted file mode 100644 index f0296638b13..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0009_remove_resource_list.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-19 18:55 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0008_rtf_to_urtf'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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/0010_add_reusable_notification.py b/cfgov/filing_instruction_guide/migrations/0010_add_reusable_notification.py deleted file mode 100644 index cf86d4be5f1..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0010_add_reusable_notification.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-25 14:57 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0009_remove_resource_list'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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/0011_remove_is_larger_heading.py b/cfgov/filing_instruction_guide/migrations/0011_remove_is_larger_heading.py deleted file mode 100644 index be9a8128489..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0011_remove_is_larger_heading.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-29 20:52 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0010_add_reusable_notification'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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/0012_fig_notification.py b/cfgov/filing_instruction_guide/migrations/0012_fig_notification.py deleted file mode 100644 index 462839f26d7..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0012_fig_notification.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 4.2.11 on 2024-05-13 13:08 - -from django.db import migrations -import filing_instruction_guide.blocks -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', '0011_remove_is_larger_heading'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), label='FAQ items'))]))], required=False))]))]), - ), - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), label='FAQ items'))]))], help_text='Content that will appear above the first FIG section', required=False))], blank=True), - ), - ] diff --git a/cfgov/filing_instruction_guide/migrations/0013_add_footnotes.py b/cfgov/filing_instruction_guide/migrations/0013_add_footnotes.py deleted file mode 100644 index ce35aa36979..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0013_add_footnotes.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 4.2.11 on 2024-07-02 17:02 - -from django.db import migrations -import filing_instruction_guide.blocks -import v1.blocks -import wagtail_footnotes.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', '0012_fig_notification'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), label='FAQ items'))]))], required=False))]))]), - ), - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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))])), ('raw_html_block', wagtail.blocks.RawHTMLBlock(label='Raw HTML block')), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), help_text='Links appear on their own lines below the explanation.', 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))]))]), label='FAQ items'))]))], help_text='Content that will appear above the first FIG section', required=False))], blank=True), - ), - ] diff --git a/cfgov/filing_instruction_guide/migrations/0014_add_table_caption.py b/cfgov/filing_instruction_guide/migrations/0014_add_table_caption.py deleted file mode 100644 index 2c39545eca9..00000000000 --- a/cfgov/filing_instruction_guide/migrations/0014_add_table_caption.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.16 on 2024-09-23 13:54 - -from django.db import migrations -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('filing_instruction_guide', '0013_add_footnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='figcontentpage', - name='content', - field=wagtail.fields.StreamField([('Fig_Section', 101), ('Fig_Subsection', 104), ('Fig_Level_3_Subsection', 106)], block_lookup={0: ('wagtail.blocks.TextBlock', (), {'label': 'Section header (h2)'}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': 'Will be filled in automatically upon save.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 4: ('wagtail.blocks.CharBlock', (), {'required': False}), 5: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'required': False}), 8: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 10: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 11: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 13: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 15: ('wagtail.blocks.StructBlock', [[('upload', 13), ('alt', 14)]], {}), 16: ('wagtail.blocks.StructBlock', [[('text', 4), ('level', 5), ('icon', 6)]], {'default': {'level': 'h3'}, 'required': False}), 17: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 20: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('text', 4), ('aria_label', 18), ('url', 19), ('is_link_boldface', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'required': False}), 23: ('wagtail.blocks.StructBlock', [[('image', 15), ('heading', 16), ('body', 17), ('links', 22)]], {}), 24: ('wagtail.blocks.ListBlock', (23,), {'default': []}), 25: ('wagtail.blocks.StructBlock', [[('format', 3), ('heading', 7), ('intro', 8), ('link_image_and_heading', 9), ('has_top_rule_line', 10), ('lines_between_items', 11), ('border_radius_image', 12), ('info_units', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 27: ('wagtail.blocks.StructBlock', [[('content', 26)]], {}), 28: ('wagtail.blocks.CharBlock', (), {'required': True}), 29: ('wagtail.blocks.TextBlock', (), {'required': False}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 31: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 32: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 33: ('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}), 34: ('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}), 35: ('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}), 36: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 37: ('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}), 38: ('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}), 39: ('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}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 42: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 44: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('title', 28), ('subtitle', 29), ('description', 30), ('figure_number', 4), ('chart_type', 31), ('data_source', 32), ('data_series', 33), ('show_all_series_by_default', 34), ('x_axis_source', 35), ('transform', 36), ('x_axis_label', 4), ('y_axis_label', 4), ('filters', 37), ('style_overrides', 38), ('projected_months', 39), ('source_credits', 40), ('date_published', 41), ('download_text', 42), ('download_file', 43), ('notes', 44)]], {}), 46: ('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}), 47: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 48: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 49: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 50: ('wagtail.blocks.StreamBlock', [[('paragraph', 8), ('well', 27), ('links', 21), ('info_unit_group', 25)]], {'blank': True}), 51: ('wagtail.blocks.StructBlock', [[('label', 4), ('icon', 4), ('is_bordered', 47), ('is_midtone', 47), ('is_expanded', 47), ('is_expanded_padding', 47), ('content', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {}), 53: ('wagtail.blocks.StructBlock', [[('heading', 46), ('body', 8), ('is_accordion', 47), ('has_top_rule_line', 48), ('is_faq', 49), ('expandables', 52)]], {}), 54: ('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}), 55: ('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}), 56: ('wagtail.blocks.StructBlock', [[('video_id', 54), ('thumbnail_image', 55)]], {}), 57: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 58: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 59: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 60: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 61: ('wagtail.blocks.ListBlock', (21,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 62: ('wagtail.blocks.StructBlock', [[('type', 58), ('message', 59), ('explanation', 60), ('links', 61)]], {}), 63: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 64: ('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}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 66: ('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}), 67: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 68: ('wagtail.blocks.RichTextBlock', (), {}), 69: ('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}), 70: ('wagtail.blocks.StructBlock', [[('link_id', 69)]], {}), 71: ('wagtail.blocks.StructBlock', [[('content_block', 68), ('anchor_link', 70)]], {}), 72: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 73: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 74: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 75: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 76: ('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}), 77: ('wagtail.blocks.StructBlock', [[('image', 15), ('image_width', 73), ('image_position', 74), ('text', 75), ('is_bottom_rule', 76)]], {}), 78: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 79: ('wagtail.blocks.CharBlock', (), {}), 80: ('wagtail.blocks.FloatBlock', (), {}), 81: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 82: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 83: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 79), ('numeric', 80), ('rich_text', 81), ('rich_text_with_footnotes', 82)]], {}), 84: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 85: ('wagtail.blocks.StructBlock', [[('heading', 7), ('text_introduction', 4), ('options', 78), ('data', 83), ('caption', 84)]], {}), 86: ('wagtail.blocks.TextBlock', (), {}), 87: ('wagtail.blocks.StructBlock', [[('body', 86), ('citation', 29)]], {}), 88: ('wagtail.blocks.StructBlock', [[('slug_text', 4), ('paragraph_text', 8), ('button', 21)]], {}), 89: ('wagtail.blocks.ListBlock', (21,), {}), 90: ('wagtail.blocks.StructBlock', [[('heading', 4), ('paragraph', 8), ('links', 89)]], {}), 91: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 92: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 93: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 94: ('wagtail.blocks.StreamBlock', [[('content', 2), ('content_with_anchor', 71), ('content_with_footnotes', 72), ('heading', 7), ('image', 77), ('table', 85), ('quote', 87), ('cta', 88), ('related_links', 90), ('reusable_text', 91), ('reusable_notification', 92), ('email_signup', 93), ('well', 27)]], {}), 95: ('wagtail.blocks.StreamBlock', [[('full_width_text', 94), ('info_unit_group', 25)]], {}), 96: ('wagtail.blocks.StructBlock', [[('anchor_tag', 66), ('question', 67), ('answer', 95)]], {}), 97: ('wagtail.blocks.ListBlock', (96,), {'label': 'FAQ items'}), 98: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 63), ('lines_between_items', 64), ('question_tag', 65), ('faq_items', 97)]], {}), 99: ('filing_instruction_guide.blocks.FigDataPointsBlock', (), {}), 100: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 98), ('data_points_block', 99)]], {'block_counts': {'data_points_block': {'max_num': 1}}, 'required': False}), 101: ('wagtail.blocks.StructBlock', [[('header', 0), ('section_id', 1), ('content', 100)]], {}), 102: ('wagtail.blocks.TextBlock', (), {'label': 'Subsection header (h3)'}), 103: ('wagtail.blocks.StreamBlock', [[('content', 2), ('info_unit_group', 25), ('well', 27), ('simple_chart', 45), ('expandable_group', 53), ('expandable', 51), ('video_player', 56), ('raw_html_block', 57), ('notification', 62), ('faq_group', 98)]], {'required': False}), 104: ('wagtail.blocks.StructBlock', [[('header', 102), ('section_id', 1), ('content', 103)]], {}), 105: ('wagtail.blocks.TextBlock', (), {'label': 'Level 3 subsection header (h4)'}), 106: ('wagtail.blocks.StructBlock', [[('header', 105), ('section_id', 1), ('content', 103)]], {})}), - ), - migrations.AlterField( - model_name='figcontentpage', - name='top_content', - field=wagtail.fields.StreamField([('top_content', 97)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 2: ('wagtail.blocks.CharBlock', (), {'required': False}), 3: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 5: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'required': False}), 6: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 9: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 11: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 12: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 13: ('wagtail.blocks.StructBlock', [[('upload', 11), ('alt', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('text', 2), ('level', 3), ('icon', 4)]], {'default': {'level': 'h3'}, 'required': False}), 15: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 17: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('text', 2), ('aria_label', 16), ('url', 17), ('is_link_boldface', 18)]], {}), 20: ('wagtail.blocks.ListBlock', (19,), {'required': False}), 21: ('wagtail.blocks.StructBlock', [[('image', 13), ('heading', 14), ('body', 15), ('links', 20)]], {}), 22: ('wagtail.blocks.ListBlock', (21,), {'default': []}), 23: ('wagtail.blocks.StructBlock', [[('format', 1), ('heading', 5), ('intro', 6), ('link_image_and_heading', 7), ('has_top_rule_line', 8), ('lines_between_items', 9), ('border_radius_image', 10), ('info_units', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('content', 24)]], {}), 26: ('wagtail.blocks.CharBlock', (), {'required': True}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.TextBlock', (), {'help_text': 'Accessible description of the chart content', 'required': True}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('bar', 'Bar'), ('datetime', 'Date/time'), ('line', 'Line'), ('tilemap', 'Tile grid map')]}), 30: ('wagtail.blocks.TextBlock', (), {'help_text': "URL of the chart's data source or an array of JSON data", 'required': True, 'rows': 2}), 31: ('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}), 32: ('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}), 33: ('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}), 34: ('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. Can also provide '___'-separated arguments to this function which are passed in as arguments 2 to n", 'required': False}), 35: ('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}), 36: ('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}), 37: ('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}), 38: ('wagtail.blocks.CharBlock', (), {'help_text': 'Attribution for the data source', 'required': False}), 39: ('wagtail.blocks.CharBlock', (), {'help_text': 'When the underlying data was published', 'required': False}), 40: ('wagtail.blocks.CharBlock', (), {'help_text': 'Custom text for the chart download field. Required to display a download link.', 'required': False}), 41: ('wagtail.blocks.CharBlock', (), {'help_text': 'Location of a file to download, if different from the data source', 'required': False}), 42: ('wagtail.blocks.TextBlock', (), {'help_text': 'General chart information', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('title', 26), ('subtitle', 27), ('description', 28), ('figure_number', 2), ('chart_type', 29), ('data_source', 30), ('data_series', 31), ('show_all_series_by_default', 32), ('x_axis_source', 33), ('transform', 34), ('x_axis_label', 2), ('y_axis_label', 2), ('filters', 35), ('style_overrides', 36), ('projected_months', 37), ('source_credits', 38), ('date_published', 39), ('download_text', 40), ('download_file', 41), ('notes', 42)]], {}), 44: ('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}), 45: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 47: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 48: ('wagtail.blocks.StreamBlock', [[('paragraph', 6), ('well', 25), ('links', 19), ('info_unit_group', 23)]], {'blank': True}), 49: ('wagtail.blocks.StructBlock', [[('label', 2), ('icon', 2), ('is_bordered', 45), ('is_midtone', 45), ('is_expanded', 45), ('is_expanded_padding', 45), ('content', 48)]], {}), 50: ('wagtail.blocks.ListBlock', (49,), {}), 51: ('wagtail.blocks.StructBlock', [[('heading', 44), ('body', 6), ('is_accordion', 45), ('has_top_rule_line', 46), ('is_faq', 47), ('expandables', 50)]], {}), 52: ('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}), 53: ('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}), 54: ('wagtail.blocks.StructBlock', [[('video_id', 52), ('thumbnail_image', 53)]], {}), 55: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'}), 56: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 57: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 58: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 59: ('wagtail.blocks.ListBlock', (19,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('type', 56), ('message', 57), ('explanation', 58), ('links', 59)]], {}), 61: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of FAQ group.', 'required': False}), 62: ('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}), 63: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'h2'), ('h3', 'h3'), ('h4', 'h4'), ('p', 'p')], 'help_text': 'HTML tag for questions.'}), 64: ('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}), 65: ('wagtail.blocks.CharBlock', (), {'max_length': 500}), 66: ('wagtail.blocks.RichTextBlock', (), {}), 67: ('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}), 68: ('wagtail.blocks.StructBlock', [[('link_id', 67)]], {}), 69: ('wagtail.blocks.StructBlock', [[('content_block', 66), ('anchor_link', 68)]], {}), 70: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 71: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 72: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 73: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 74: ('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}), 75: ('wagtail.blocks.StructBlock', [[('image', 13), ('image_width', 71), ('image_position', 72), ('text', 73), ('is_bottom_rule', 74)]], {}), 76: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 77: ('wagtail.blocks.CharBlock', (), {}), 78: ('wagtail.blocks.FloatBlock', (), {}), 79: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 80: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 81: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 77), ('numeric', 78), ('rich_text', 79), ('rich_text_with_footnotes', 80)]], {}), 82: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 83: ('wagtail.blocks.StructBlock', [[('heading', 5), ('text_introduction', 2), ('options', 76), ('data', 81), ('caption', 82)]], {}), 84: ('wagtail.blocks.TextBlock', (), {}), 85: ('wagtail.blocks.StructBlock', [[('body', 84), ('citation', 27)]], {}), 86: ('wagtail.blocks.StructBlock', [[('slug_text', 2), ('paragraph_text', 6), ('button', 19)]], {}), 87: ('wagtail.blocks.ListBlock', (19,), {}), 88: ('wagtail.blocks.StructBlock', [[('heading', 2), ('paragraph', 6), ('links', 87)]], {}), 89: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 90: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 91: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 92: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 69), ('content_with_footnotes', 70), ('heading', 5), ('image', 75), ('table', 83), ('quote', 85), ('cta', 86), ('related_links', 88), ('reusable_text', 89), ('reusable_notification', 90), ('email_signup', 91), ('well', 25)]], {}), 93: ('wagtail.blocks.StreamBlock', [[('full_width_text', 92), ('info_unit_group', 23)]], {}), 94: ('wagtail.blocks.StructBlock', [[('anchor_tag', 64), ('question', 65), ('answer', 93)]], {}), 95: ('wagtail.blocks.ListBlock', (94,), {'label': 'FAQ items'}), 96: ('wagtail.blocks.StructBlock', [[('has_top_rule_line', 61), ('lines_between_items', 62), ('question_tag', 63), ('faq_items', 95)]], {}), 97: ('wagtail.blocks.StreamBlock', [[('content', 0), ('info_unit_group', 23), ('well', 25), ('simple_chart', 43), ('expandable_group', 51), ('expandable', 49), ('video_player', 54), ('raw_html_block', 55), ('notification', 60), ('faq_group', 96)]], {'help_text': 'Content that will appear above the first FIG section', 'required': False})}), - ), - ] diff --git a/cfgov/form_explainer/migrations/0001_2024_squash.py b/cfgov/form_explainer/migrations/0001_2024_squash.py new file mode 100644 index 00000000000..74673cd476a --- /dev/null +++ b/cfgov/form_explainer/migrations/0001_2024_squash.py @@ -0,0 +1,54 @@ +# Generated by Django 4.2.17 on 2024-12-26 15:55 + +from django.db import migrations, models +import django.db.migrations.operations.special +import django.db.models.deletion +import wagtail.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('v1', '0001_2024_squash'), + ] + + 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', 9), ('text_introduction', 19)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {'help_text': 'For guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', 'required': False}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'Use if the heading needs to break to a second lineat a specific point in the text.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'help_text': 'Character counts (including spaces) at largest breakpoint:', 'label': 'Sub-heading', 'required': False}), 3: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'When saving illustrations, use a transparent background. ', 'label': 'Large image', 'required': False}), 4: ('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. ', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Specify a hex value (including the # sign) from our official color palette.', 'required': False}), 6: ('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}), 7: ('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}), 8: ('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}), 9: ('wagtail.blocks.StructBlock', [[('heading', 0), ('heading_continued', 1), ('body', 2), ('image', 3), ('small_image', 4), ('background_color', 5), ('is_white_text', 6), ('is_overlay', 7), ('is_bleeding', 8)]], {}), 10: ('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}), 11: ('wagtail.blocks.CharBlock', (), {'required': False}), 12: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 13: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 15: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 16: ('wagtail.blocks.StructBlock', [[('text', 11), ('aria_label', 13), ('url', 14), ('is_link_boldface', 15)]], {}), 17: ('wagtail.blocks.ListBlock', (16,), {'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'help_text': 'Check this to add a horizontal rule line to bottom of text introduction.', 'label': 'Has bottom rule', 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('eyebrow', 10), ('heading', 11), ('intro', 12), ('body', 12), ('links', 17), ('has_rule', 18)]], {})})), + ('content', wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 66)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'form_classname': 'explainer_notes', 'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 49: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 50: ('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}), 51: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 47), ('image_position', 48), ('text', 49), ('is_bottom_rule', 50)]], {}), 52: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 53: ('wagtail.blocks.CharBlock', (), {}), 54: ('wagtail.blocks.FloatBlock', (), {}), 55: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 56: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 53), ('numeric', 54), ('rich_text', 55)]], {}), 57: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 52), ('data', 56)]], {}), 58: ('wagtail.blocks.TextBlock', (), {}), 59: ('wagtail.blocks.TextBlock', (), {'required': False}), 60: ('wagtail.blocks.StructBlock', [[('body', 58), ('citation', 59)]], {}), 61: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 62: ('wagtail.blocks.ListBlock', (37,), {}), 63: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 62)]], {}), 64: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 65: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 66: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('heading', 23), ('image', 51), ('table', 57), ('quote', 60), ('cta', 61), ('related_links', 63), ('reusable_text', 64), ('email_signup', 65), ('well', 21)]], {})})), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.RunPython( + code=django.db.migrations.operations.special.RunPython.noop, + reverse_code=django.db.migrations.operations.special.RunPython.noop, + ), + migrations.AlterField( + model_name='formexplainerpage', + name='content', + field=wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 67)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'form_classname': 'explainer_notes', 'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 49: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 50: ('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}), 51: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 47), ('image_position', 48), ('text', 49), ('is_bottom_rule', 50)]], {}), 52: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 53: ('wagtail.blocks.CharBlock', (), {}), 54: ('wagtail.blocks.FloatBlock', (), {}), 55: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 56: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 53), ('numeric', 54), ('rich_text', 55)]], {}), 57: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 52), ('data', 56)]], {}), 58: ('wagtail.blocks.TextBlock', (), {}), 59: ('wagtail.blocks.TextBlock', (), {'required': False}), 60: ('wagtail.blocks.StructBlock', [[('body', 58), ('citation', 59)]], {}), 61: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 62: ('wagtail.blocks.ListBlock', (37,), {}), 63: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 62)]], {}), 64: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 65: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 66: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 67: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('heading', 23), ('image', 51), ('table', 57), ('quote', 60), ('cta', 61), ('related_links', 63), ('reusable_text', 64), ('reusable_notification', 65), ('email_signup', 66), ('well', 21)]], {})}), + ), + migrations.AlterField( + model_name='formexplainerpage', + name='content', + field=wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 69)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'form_classname': 'explainer_notes', 'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 49: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 50: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 51: ('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}), 52: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 48), ('image_position', 49), ('text', 50), ('is_bottom_rule', 51)]], {}), 53: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 54: ('wagtail.blocks.CharBlock', (), {}), 55: ('wagtail.blocks.FloatBlock', (), {}), 56: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 57: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 58: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 54), ('numeric', 55), ('rich_text', 56), ('rich_text_with_footnotes', 57)]], {}), 59: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 53), ('data', 58)]], {}), 60: ('wagtail.blocks.TextBlock', (), {}), 61: ('wagtail.blocks.TextBlock', (), {'required': False}), 62: ('wagtail.blocks.StructBlock', [[('body', 60), ('citation', 61)]], {}), 63: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 64: ('wagtail.blocks.ListBlock', (37,), {}), 65: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 64)]], {}), 66: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 67: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 68: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 69: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('content_with_footnotes', 47), ('heading', 23), ('image', 52), ('table', 59), ('quote', 62), ('cta', 63), ('related_links', 65), ('reusable_text', 66), ('reusable_notification', 67), ('email_signup', 68), ('well', 21)]], {})}), + ), + migrations.AlterField( + model_name='formexplainerpage', + name='content', + field=wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 69)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 49: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 50: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 51: ('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}), 52: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 48), ('image_position', 49), ('text', 50), ('is_bottom_rule', 51)]], {}), 53: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 54: ('wagtail.blocks.CharBlock', (), {}), 55: ('wagtail.blocks.FloatBlock', (), {}), 56: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 57: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 58: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 54), ('numeric', 55), ('rich_text', 56), ('rich_text_with_footnotes', 57)]], {}), 59: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 53), ('data', 58)]], {}), 60: ('wagtail.blocks.TextBlock', (), {}), 61: ('wagtail.blocks.TextBlock', (), {'required': False}), 62: ('wagtail.blocks.StructBlock', [[('body', 60), ('citation', 61)]], {}), 63: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 64: ('wagtail.blocks.ListBlock', (37,), {}), 65: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 64)]], {}), 66: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 67: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 68: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 69: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('content_with_footnotes', 47), ('heading', 23), ('image', 52), ('table', 59), ('quote', 62), ('cta', 63), ('related_links', 65), ('reusable_text', 66), ('reusable_notification', 67), ('email_signup', 68), ('well', 21)]], {})}), + ), + migrations.AlterField( + model_name='formexplainerpage', + name='content', + field=wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 70)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 49: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 50: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 51: ('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}), 52: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 48), ('image_position', 49), ('text', 50), ('is_bottom_rule', 51)]], {}), 53: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 54: ('wagtail.blocks.CharBlock', (), {}), 55: ('wagtail.blocks.FloatBlock', (), {}), 56: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 57: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 58: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 54), ('numeric', 55), ('rich_text', 56), ('rich_text_with_footnotes', 57)]], {}), 59: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 53), ('data', 58), ('caption', 59)]], {}), 61: ('wagtail.blocks.TextBlock', (), {}), 62: ('wagtail.blocks.TextBlock', (), {'required': False}), 63: ('wagtail.blocks.StructBlock', [[('body', 61), ('citation', 62)]], {}), 64: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 65: ('wagtail.blocks.ListBlock', (37,), {}), 66: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 65)]], {}), 67: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 68: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 69: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 70: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('content_with_footnotes', 47), ('heading', 23), ('image', 52), ('table', 60), ('quote', 63), ('cta', 64), ('related_links', 66), ('reusable_text', 67), ('reusable_notification', 68), ('email_signup', 69), ('well', 21)]], {})}), + ), + ] 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 deleted file mode 100644 index e0762fe16eb..00000000000 --- a/cfgov/form_explainer/migrations/0001_squashed_0008_new_table_block.py +++ /dev/null @@ -1,32 +0,0 @@ -# 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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/0002_deprecate_iug_sharing.py b/cfgov/form_explainer/migrations/0002_deprecate_iug_sharing.py deleted file mode 100644 index 9dadee36e21..00000000000 --- a/cfgov/form_explainer/migrations/0002_deprecate_iug_sharing.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-05 21:21 - -from django.db import migrations -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', '0001_squashed_0008_new_table_block'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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/form_explainer/migrations/0003_deprecate_super_button.py b/cfgov/form_explainer/migrations/0003_deprecate_super_button.py deleted file mode 100644 index afc1b01c63d..00000000000 --- a/cfgov/form_explainer/migrations/0003_deprecate_super_button.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-22 17:15 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('form_explainer', '0002_deprecate_iug_sharing'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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/0004_remove_large_pull_quote.py b/cfgov/form_explainer/migrations/0004_remove_large_pull_quote.py deleted file mode 100644 index d47fa01d5a7..00000000000 --- a/cfgov/form_explainer/migrations/0004_remove_large_pull_quote.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.20 on 2023-10-25 17:59 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('form_explainer', '0003_deprecate_super_button'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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/0005_update_ds_links.py b/cfgov/form_explainer/migrations/0005_update_ds_links.py deleted file mode 100644 index e70f8a2bf96..00000000000 --- a/cfgov/form_explainer/migrations/0005_update_ds_links.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.23 on 2023-12-28 20:56 - -from django.db import migrations -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('form_explainer', '0004_remove_large_pull_quote'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='header', - field=wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For 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. ', 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. ', 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), - ), - ] diff --git a/cfgov/form_explainer/migrations/0006_add_table_intro.py b/cfgov/form_explainer/migrations/0006_add_table_intro.py deleted file mode 100644 index 245baf084dd..00000000000 --- a/cfgov/form_explainer/migrations/0006_add_table_intro.py +++ /dev/null @@ -1,773 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 17:43 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("form_explainer", "0005_update_ds_links"), - ] - - operations = [ - migrations.AlterField( - model_name="formexplainerpage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "explainer", - wagtail.blocks.StructBlock( - [ - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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/0007_raw_html_affordances.py b/cfgov/form_explainer/migrations/0007_raw_html_affordances.py deleted file mode 100644 index a28d2d5aa35..00000000000 --- a/cfgov/form_explainer/migrations/0007_raw_html_affordances.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-05 19:48 - -from django.db import migrations -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', '0006_add_table_intro'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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), - ), - migrations.AlterField( - model_name='formexplainerpage', - name='header', - field=wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('heading_continued', wagtail.blocks.CharBlock(help_text='Use if the heading needs to break to a second lineat a specific point in the text.', 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. ', 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. ', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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/form_explainer/migrations/0008_rtf_to_urtf.py b/cfgov/form_explainer/migrations/0008_rtf_to_urtf.py deleted file mode 100644 index 724247b2035..00000000000 --- a/cfgov/form_explainer/migrations/0008_rtf_to_urtf.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-12 18:00 - -from django.db import migrations -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_raw_html_affordances'), - ] - - operations = [ - migrations.RunPython(code=migrations.RunPython.noop, reverse_code=migrations.RunPython.noop) - ] diff --git a/cfgov/form_explainer/migrations/0009_add_reusable_notification.py b/cfgov/form_explainer/migrations/0009_add_reusable_notification.py deleted file mode 100644 index 4f61b947335..00000000000 --- a/cfgov/form_explainer/migrations/0009_add_reusable_notification.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-25 14:57 - -from django.db import migrations -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', '0008_rtf_to_urtf'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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/0010_add_footnotes.py b/cfgov/form_explainer/migrations/0010_add_footnotes.py deleted file mode 100644 index 51320671494..00000000000 --- a/cfgov/form_explainer/migrations/0010_add_footnotes.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.11 on 2024-07-02 17:02 - -from django.db import migrations -import v1.blocks -import wagtail_footnotes.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', '0009_add_reusable_notification'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))]))]), - ), - ] diff --git a/cfgov/form_explainer/migrations/0011_remove_form_explainer_css.py b/cfgov/form_explainer/migrations/0011_remove_form_explainer_css.py deleted file mode 100644 index cfc866f1f12..00000000000 --- a/cfgov/form_explainer/migrations/0011_remove_form_explainer_css.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.11 on 2024-09-03 21:01 - -from django.db import migrations -import v1.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks -import wagtail_footnotes.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('form_explainer', '0010_add_footnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', wagtail.blocks.StructBlock([('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name 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))], 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'))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))]))]), - ), - ] diff --git a/cfgov/form_explainer/migrations/0012_add_table_caption.py b/cfgov/form_explainer/migrations/0012_add_table_caption.py deleted file mode 100644 index 59f53ba52ce..00000000000 --- a/cfgov/form_explainer/migrations/0012_add_table_caption.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.2.16 on 2024-09-23 13:54 - -from django.db import migrations -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('form_explainer', '0011_remove_form_explainer_css'), - ] - - operations = [ - migrations.AlterField( - model_name='formexplainerpage', - name='content', - field=wagtail.fields.StreamField([('explainer', 19), ('well', 21), ('info_unit_group', 41), ('full_width_text', 70)], block_lookup={0: ('wagtail.blocks.CharBlock', (), {'required': False}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'label': 'Heading (optional)', 'required': False}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {'icon': 'image', 'required': True}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional. Leave blank if there is only one type of note for this image.', 'label': 'Category title', 'required': False}), 6: ('wagtail.blocks.CharBlock', (), {'label': 'Expandable header', 'required': True}), 7: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'label': 'Expandable text', 'required': True}), 8: ('wagtail.blocks.FloatBlock', (), {'label': 'X value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 9: ('wagtail.blocks.FloatBlock', (), {'label': 'Y value (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 10: ('wagtail.blocks.FloatBlock', (), {'label': 'Width (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 11: ('wagtail.blocks.FloatBlock', (), {'label': 'Height (in percentage)', 'max_value': 100, 'min_value': 0, 'required': True}), 12: ('wagtail.blocks.StructBlock', [[('left', 8), ('top', 9), ('width', 10), ('height', 11)]], {'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'}), 13: ('wagtail.blocks.StructBlock', [[('heading', 6), ('body', 7), ('coordinates', 12)]], {'required': False}), 14: ('wagtail.blocks.ListBlock', (13,), {'default': []}), 15: ('wagtail.blocks.StructBlock', [[('title', 5), ('notes', 14)]], {'required': False}), 16: ('wagtail.blocks.ListBlock', (15,), {}), 17: ('wagtail.blocks.StructBlock', [[('image', 4), ('categories', 16)]], {'required': False}), 18: ('wagtail.blocks.ListBlock', (17,), {}), 19: ('wagtail.blocks.StructBlock', [[('heading', 3), ('pages', 18)]], {}), 20: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('content', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 23: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'required': False}), 24: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 25: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 26: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 27: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 29: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 31: ('wagtail.blocks.StructBlock', [[('upload', 29), ('alt', 30)]], {}), 32: ('wagtail.blocks.StructBlock', [[('text', 0), ('level', 1), ('icon', 2)]], {'default': {'level': 'h3'}, 'required': False}), 33: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 36: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('text', 0), ('aria_label', 34), ('url', 35), ('is_link_boldface', 36)]], {}), 38: ('wagtail.blocks.ListBlock', (37,), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('image', 31), ('heading', 32), ('body', 33), ('links', 38)]], {}), 40: ('wagtail.blocks.ListBlock', (39,), {'default': []}), 41: ('wagtail.blocks.StructBlock', [[('format', 22), ('heading', 23), ('intro', 24), ('link_image_and_heading', 25), ('has_top_rule_line', 26), ('lines_between_items', 27), ('border_radius_image', 28), ('info_units', 40)]], {}), 42: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 43: ('wagtail.blocks.RichTextBlock', (), {}), 44: ('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}), 45: ('wagtail.blocks.StructBlock', [[('link_id', 44)]], {}), 46: ('wagtail.blocks.StructBlock', [[('content_block', 43), ('anchor_link', 45)]], {}), 47: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 48: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 49: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 50: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 51: ('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}), 52: ('wagtail.blocks.StructBlock', [[('image', 31), ('image_width', 48), ('image_position', 49), ('text', 50), ('is_bottom_rule', 51)]], {}), 53: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 54: ('wagtail.blocks.CharBlock', (), {}), 55: ('wagtail.blocks.FloatBlock', (), {}), 56: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 57: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 58: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 54), ('numeric', 55), ('rich_text', 56), ('rich_text_with_footnotes', 57)]], {}), 59: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 60: ('wagtail.blocks.StructBlock', [[('heading', 23), ('text_introduction', 0), ('options', 53), ('data', 58), ('caption', 59)]], {}), 61: ('wagtail.blocks.TextBlock', (), {}), 62: ('wagtail.blocks.TextBlock', (), {'required': False}), 63: ('wagtail.blocks.StructBlock', [[('body', 61), ('citation', 62)]], {}), 64: ('wagtail.blocks.StructBlock', [[('slug_text', 0), ('paragraph_text', 24), ('button', 37)]], {}), 65: ('wagtail.blocks.ListBlock', (37,), {}), 66: ('wagtail.blocks.StructBlock', [[('heading', 0), ('paragraph', 24), ('links', 65)]], {}), 67: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 68: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 69: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 70: ('wagtail.blocks.StreamBlock', [[('content', 42), ('content_with_anchor', 46), ('content_with_footnotes', 47), ('heading', 23), ('image', 52), ('table', 60), ('quote', 63), ('cta', 64), ('related_links', 66), ('reusable_text', 67), ('reusable_notification', 68), ('email_signup', 69), ('well', 21)]], {})}), - ), - ] diff --git a/cfgov/hmda/migrations/0001_initial.py b/cfgov/hmda/migrations/0001_initial.py index 8c687710de2..31f0aa0e4e4 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_0254_delete_campaignpage'), + ('v1', '0001_2024_squash'), ] operations = [ diff --git a/cfgov/housing_counselor/geocoder.py b/cfgov/housing_counselor/geocoder.py index b13c4d5a6c1..a72b20a4ed9 100644 --- a/cfgov/housing_counselor/geocoder.py +++ b/cfgov/housing_counselor/geocoder.py @@ -30,11 +30,25 @@ def __init__(self, zipcodes): self.zipcodes = zipcodes def geocode(self, counselors): - return list(map(self.geocode_counselor, counselors)) + return list( + map( + self.geocode_counselor, + filter( + self.filter_zipcodes, map(lambda c: dict(c), counselors) + ), + ) + ) - def geocode_counselor(self, counselor): - counselor = dict(counselor) + def filter_zipcodes(self, counselor): + zipcode = counselor["zipcd"][:5] + + if zipcode not in self.zipcodes: + logger.warning(f"{zipcode} not in zipcodes") + return False + + return True + def geocode_counselor(self, counselor): lat_lng_keys = ("agc_ADDR_LATITUDE", "agc_ADDR_LONGITUDE") if all(counselor.get(k) for k in lat_lng_keys): return counselor @@ -42,9 +56,6 @@ def geocode_counselor(self, counselor): zipcode = counselor["zipcd"][:5] logger.warning("need to geocode counselor with zipcode %s", zipcode) - if zipcode not in self.zipcodes: - raise KeyError(f"{zipcode} not in zipcodes") - coordinates = self.zipcodes[zipcode] counselor.update(zip(lat_lng_keys, coordinates)) diff --git a/cfgov/housing_counselor/tests/management/test_geocoder.py b/cfgov/housing_counselor/tests/management/test_geocoder.py index 5a0e4886d99..ea9bb4daa7f 100644 --- a/cfgov/housing_counselor/tests/management/test_geocoder.py +++ b/cfgov/housing_counselor/tests/management/test_geocoder.py @@ -26,9 +26,21 @@ def setUp(self): def test_returns_list_of_counselors(self): counselors = [ - {"agc_ADDR_LATITUDE": 1, "agc_ADDR_LONGITUDE": -1}, - {"agc_ADDR_LATITUDE": 2, "agc_ADDR_LONGITUDE": -2}, - {"agc_ADDR_LATITUDE": 3, "agc_ADDR_LONGITUDE": -3}, + { + "agc_ADDR_LATITUDE": 1, + "agc_ADDR_LONGITUDE": -1, + "zipcd": "20001", + }, + { + "agc_ADDR_LATITUDE": 2, + "agc_ADDR_LONGITUDE": -2, + "zipcd": "20001", + }, + { + "agc_ADDR_LATITUDE": 3, + "agc_ADDR_LONGITUDE": -3, + "zipcd": "20001", + }, ] geocoded = self.geocoder.geocode(counselors) @@ -84,11 +96,11 @@ def test_uses_first_five_digits_of_zipcode(self): self.assertEqual(geocoded[0]["agc_ADDR_LATITUDE"], 123.45) self.assertEqual(geocoded[0]["agc_ADDR_LONGITUDE"], -78.9) - def test_raises_keyerror_if_zipcode_not_available(self): + def test_filters_out_bad_zips(self): counselor = {"zipcd": "20002"} - with self.assertRaises(KeyError): - self.geocoder.geocode([counselor]) + geocoded = self.geocoder.geocode([counselor]) + self.assertEqual(len(geocoded), 0) class TestBulkZipCodeGeocoder(TestCase): diff --git a/cfgov/jinja2/rural-or-underserved/index.html b/cfgov/jinja2/rural-or-underserved/index.html index 25fa6632f7f..8ad56ef5c78 100644 --- a/cfgov/jinja2/rural-or-underserved/index.html +++ b/cfgov/jinja2/rural-or-underserved/index.html @@ -762,6 +762,11 @@

address on the Census Bureau’s automated address search tool and the rural or underserved counties lists.' ) }} + + {{ expandable.render( + 'Why did I receive inaccurate results for Connecticut addresses in January 2025?', + 'If accessed between January 1, 2025, and January 22, 2025, the rural or underserved tool might have incorrectly indicated underserved status for some addresses in Connecticut as a result of recent changes by the Census Bureau in the county-equivalent codes for that state. The Bureau implemented a solution for this issue on January 23, 2025. As of that date, the rural or underserved tool produces correct results for addresses in the State of Connecticut.' + ) }} diff --git a/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py b/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py index 39799b7d7df..8fbe405b99e 100644 --- a/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py +++ b/cfgov/jobmanager/migrations/0001_squashed_0020_hourly_salary.py @@ -12,7 +12,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('v1', '0001_squashed_0254_delete_campaignpage'), + ('v1', '0001_2024_squash'), ] operations = [ diff --git a/cfgov/paying_for_college/disclosures/scripts/load_programs.py b/cfgov/paying_for_college/disclosures/scripts/load_programs.py index 38faeda477f..355803cadf3 100644 --- a/cfgov/paying_for_college/disclosures/scripts/load_programs.py +++ b/cfgov/paying_for_college/disclosures/scripts/load_programs.py @@ -211,7 +211,7 @@ def load(source, s3=False): data = serializer.validated_data if not validate_pid(data["program_code"]): print( - "ERROR: invalid program code: " "{}".format( + "ERROR: invalid program code: {}".format( data["program_code"] ) ) @@ -234,10 +234,10 @@ def load(source, s3=False): program.completion_rate = data["completion_rate"] program.default_rate = data["default_rate"] program.mean_student_loan_completers = data[ - "mean_student_" "loan_completers" + "mean_student_loan_completers" ] program.median_student_loan_completers = data[ - "median_student_" "loan_completers" + "median_student_loan_completers" ] program.program_code = data["program_code"] program.program_name = strip_control_chars(data["program_name"]) diff --git a/cfgov/paying_for_college/disclosures/scripts/notification_tester.py b/cfgov/paying_for_college/disclosures/scripts/notification_tester.py index dca1e189490..956892f87db 100644 --- a/cfgov/paying_for_college/disclosures/scripts/notification_tester.py +++ b/cfgov/paying_for_college/disclosures/scripts/notification_tester.py @@ -13,7 +13,7 @@ # test values OID = "9e0280139f3238cbc9702c7b0d62e5c238a835d0" ERRORS = "INVALID: test notification via Python" -REPORT = "URL is {}\nOK is {}\nReason is {}\n" "Status is {}\nTime sent is {}" +REPORT = "URL is {}\nOK is {}\nReason is {}\nStatus is {}\nTime sent is {}" def send_test_notifications(url=None, oid=OID, errors=ERRORS): diff --git a/cfgov/paying_for_college/jinja2/paying-for-college/disclosure.html b/cfgov/paying_for_college/jinja2/paying-for-college/disclosure.html index 4008091773b..e52dc44a5fb 100644 --- a/cfgov/paying_for_college/jinja2/paying-for-college/disclosure.html +++ b/cfgov/paying_for_college/jinja2/paying-for-college/disclosure.html @@ -242,7 +242,7 @@

Get details about how this tool works

diff --git a/cfgov/paying_for_college/migrations/0001_2024_squash.py b/cfgov/paying_for_college/migrations/0001_2024_squash.py new file mode 100644 index 00000000000..bc0a9e1aa52 --- /dev/null +++ b/cfgov/paying_for_college/migrations/0001_2024_squash.py @@ -0,0 +1,234 @@ +# Generated by Django 4.2.17 on 2024-12-26 15:59 + +from django.db import migrations, models +import django.db.migrations.operations.special +import django.db.models.deletion +import wagtail.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('wagtailredirects', '0008_add_verbose_name_plural'), + ('wagtailforms', '0004_add_verbose_name_plural'), + ('wagtailinventory', '0003_pageblock_id_bigautofield'), + ('wagtailcore', '0060_fix_workflow_unique_constraint'), + ('wagtailcore', '0078_referenceindex'), + ('wagtailredirects', '0006_redirect_increase_max_length'), + ('wagtailforms', '0005_alter_formsubmission_form_data'), + ('wagtailinventory', '0001_initial'), + ('v1', '0001_2024_squash'), + ] + + 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', 9), ('text_introduction', 19), ('featured_content', 31)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {'help_text': 'For guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', 'required': False}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'Use if the heading needs to break to a second lineat a specific point in the text.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'help_text': 'Character counts (including spaces) at largest breakpoint:', 'label': 'Sub-heading', 'required': False}), 3: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'When saving illustrations, use a transparent background. ', 'label': 'Large image', 'required': False}), 4: ('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. ', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Specify a hex value (including the # sign) from our official color palette.', 'required': False}), 6: ('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}), 7: ('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}), 8: ('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}), 9: ('wagtail.blocks.StructBlock', [[('heading', 0), ('heading_continued', 1), ('body', 2), ('image', 3), ('small_image', 4), ('background_color', 5), ('is_white_text', 6), ('is_overlay', 7), ('is_bleeding', 8)]], {}), 10: ('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}), 11: ('wagtail.blocks.CharBlock', (), {'required': False}), 12: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 13: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 14: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 15: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 16: ('wagtail.blocks.StructBlock', [[('text', 11), ('aria_label', 13), ('url', 14), ('is_link_boldface', 15)]], {}), 17: ('wagtail.blocks.ListBlock', (16,), {'required': False}), 18: ('wagtail.blocks.BooleanBlock', (), {'help_text': 'Check this to add a horizontal rule line to bottom of text introduction.', 'label': 'Has bottom rule', 'required': False}), 19: ('wagtail.blocks.StructBlock', [[('eyebrow', 10), ('heading', 11), ('intro', 12), ('body', 12), ('links', 17), ('has_rule', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {}), 21: ('wagtail.blocks.TextBlock', (), {'help_text': 'Line breaks will be ignored.'}), 22: ('wagtail.blocks.PageChooserBlock', (), {'required': False}), 23: ('wagtail.blocks.BooleanBlock', (), {'label': 'Render post link?', 'required': False}), 24: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 25: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 26: ('wagtail.blocks.StructBlock', [[('upload', 24), ('alt', 25)]], {}), 27: ('wagtail.blocks.ListBlock', (16,), {'label': 'Additional Links'}), 28: ('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}), 29: ('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}), 30: ('wagtail.blocks.StructBlock', [[('video_id', 28), ('thumbnail_image', 29)]], {'required': False}), 31: ('wagtail.blocks.StructBlock', [[('heading', 20), ('body', 21), ('post', 22), ('show_post_link', 23), ('post_link_text', 11), ('image', 26), ('links', 27), ('video', 30)]], {})})), + ('content', wagtail.fields.StreamField([('full_width_text', 38), ('info_unit_group', 49), ('expandable_group', 57), ('expandable', 55), ('well', 37), ('raw_html_block', 58)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail.blocks.CharBlock', (), {'required': False}), 6: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 7: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 8: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'required': False}), 9: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 10: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 11: ('wagtail.blocks.StructBlock', [[('upload', 9), ('alt', 10)]], {}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 14: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 15: ('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}), 16: ('wagtail.blocks.StructBlock', [[('image', 11), ('image_width', 12), ('image_position', 13), ('text', 14), ('is_bottom_rule', 15)]], {}), 17: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {}), 19: ('wagtail.blocks.FloatBlock', (), {}), 20: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 21: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 18), ('numeric', 19), ('rich_text', 20)]], {}), 22: ('wagtail.blocks.StructBlock', [[('heading', 8), ('text_introduction', 5), ('options', 17), ('data', 21)]], {}), 23: ('wagtail.blocks.TextBlock', (), {}), 24: ('wagtail.blocks.TextBlock', (), {'required': False}), 25: ('wagtail.blocks.StructBlock', [[('body', 23), ('citation', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 29: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 30: ('wagtail.blocks.StructBlock', [[('text', 5), ('aria_label', 27), ('url', 28), ('is_link_boldface', 29)]], {}), 31: ('wagtail.blocks.StructBlock', [[('slug_text', 5), ('paragraph_text', 26), ('button', 30)]], {}), 32: ('wagtail.blocks.ListBlock', (30,), {}), 33: ('wagtail.blocks.StructBlock', [[('heading', 5), ('paragraph', 26), ('links', 32)]], {}), 34: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 35: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 36: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 37: ('wagtail.blocks.StructBlock', [[('content', 36)]], {}), 38: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('heading', 8), ('image', 16), ('table', 22), ('quote', 25), ('cta', 31), ('related_links', 33), ('reusable_text', 34), ('email_signup', 35), ('well', 37)]], {}), 39: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 40: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 41: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 42: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 43: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 44: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'default': {'level': 'h3'}, 'required': False}), 45: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 46: ('wagtail.blocks.ListBlock', (30,), {'required': False}), 47: ('wagtail.blocks.StructBlock', [[('image', 11), ('heading', 44), ('body', 45), ('links', 46)]], {}), 48: ('wagtail.blocks.ListBlock', (47,), {'default': []}), 49: ('wagtail.blocks.StructBlock', [[('format', 39), ('heading', 8), ('intro', 26), ('link_image_and_heading', 40), ('has_top_rule_line', 41), ('lines_between_items', 42), ('border_radius_image', 43), ('info_units', 48)]], {}), 50: ('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}), 51: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 52: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 53: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 54: ('wagtail.blocks.StreamBlock', [[('paragraph', 26), ('well', 37), ('links', 30), ('info_unit_group', 49)]], {'blank': True}), 55: ('wagtail.blocks.StructBlock', [[('label', 5), ('icon', 5), ('is_bordered', 51), ('is_midtone', 51), ('is_expanded', 51), ('is_larger_heading', 51), ('is_expanded_padding', 51), ('content', 54)]], {}), 56: ('wagtail.blocks.ListBlock', (55,), {}), 57: ('wagtail.blocks.StructBlock', [[('heading', 50), ('body', 26), ('is_accordion', 51), ('has_top_rule_line', 52), ('is_faq', 53), ('expandables', 56)]], {}), 58: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})})), + ], + options={ + 'abstract': False, + }, + bases=('v1.cfgovpage',), + ), + migrations.RunPython( + code=django.db.migrations.operations.special.RunPython.noop, + reverse_code=django.db.migrations.operations.special.RunPython.noop, + ), + migrations.AlterField( + model_name='collegecostspage', + name='content', + field=wagtail.fields.StreamField([('full_width_text', 39), ('info_unit_group', 50), ('expandable_group', 58), ('expandable', 56), ('well', 38), ('raw_html_block', 59)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail.blocks.CharBlock', (), {'required': False}), 6: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 7: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 8: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'required': False}), 9: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 10: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 11: ('wagtail.blocks.StructBlock', [[('upload', 9), ('alt', 10)]], {}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 14: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 15: ('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}), 16: ('wagtail.blocks.StructBlock', [[('image', 11), ('image_width', 12), ('image_position', 13), ('text', 14), ('is_bottom_rule', 15)]], {}), 17: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {}), 19: ('wagtail.blocks.FloatBlock', (), {}), 20: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 21: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 18), ('numeric', 19), ('rich_text', 20)]], {}), 22: ('wagtail.blocks.StructBlock', [[('heading', 8), ('text_introduction', 5), ('options', 17), ('data', 21)]], {}), 23: ('wagtail.blocks.TextBlock', (), {}), 24: ('wagtail.blocks.TextBlock', (), {'required': False}), 25: ('wagtail.blocks.StructBlock', [[('body', 23), ('citation', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 29: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 30: ('wagtail.blocks.StructBlock', [[('text', 5), ('aria_label', 27), ('url', 28), ('is_link_boldface', 29)]], {}), 31: ('wagtail.blocks.StructBlock', [[('slug_text', 5), ('paragraph_text', 26), ('button', 30)]], {}), 32: ('wagtail.blocks.ListBlock', (30,), {}), 33: ('wagtail.blocks.StructBlock', [[('heading', 5), ('paragraph', 26), ('links', 32)]], {}), 34: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 35: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 36: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 37: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('content', 37)]], {}), 39: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('heading', 8), ('image', 16), ('table', 22), ('quote', 25), ('cta', 31), ('related_links', 33), ('reusable_text', 34), ('reusable_notification', 35), ('email_signup', 36), ('well', 38)]], {}), 40: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 41: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 42: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 43: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 44: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'default': {'level': 'h3'}, 'required': False}), 46: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 47: ('wagtail.blocks.ListBlock', (30,), {'required': False}), 48: ('wagtail.blocks.StructBlock', [[('image', 11), ('heading', 45), ('body', 46), ('links', 47)]], {}), 49: ('wagtail.blocks.ListBlock', (48,), {'default': []}), 50: ('wagtail.blocks.StructBlock', [[('format', 40), ('heading', 8), ('intro', 26), ('link_image_and_heading', 41), ('has_top_rule_line', 42), ('lines_between_items', 43), ('border_radius_image', 44), ('info_units', 49)]], {}), 51: ('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}), 52: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 53: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 54: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 55: ('wagtail.blocks.StreamBlock', [[('paragraph', 26), ('well', 38), ('links', 30), ('info_unit_group', 50)]], {'blank': True}), 56: ('wagtail.blocks.StructBlock', [[('label', 5), ('icon', 5), ('is_bordered', 52), ('is_midtone', 52), ('is_expanded', 52), ('is_larger_heading', 52), ('is_expanded_padding', 52), ('content', 55)]], {}), 57: ('wagtail.blocks.ListBlock', (56,), {}), 58: ('wagtail.blocks.StructBlock', [[('heading', 51), ('body', 26), ('is_accordion', 52), ('has_top_rule_line', 53), ('is_faq', 54), ('expandables', 57)]], {}), 59: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})}), + ), + migrations.AlterField( + model_name='collegecostspage', + name='content', + field=wagtail.fields.StreamField([('full_width_text', 39), ('info_unit_group', 50), ('expandable_group', 58), ('expandable', 56), ('well', 38), ('raw_html_block', 59)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail.blocks.CharBlock', (), {'required': False}), 6: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 7: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 8: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'required': False}), 9: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 10: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 11: ('wagtail.blocks.StructBlock', [[('upload', 9), ('alt', 10)]], {}), 12: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 14: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 15: ('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}), 16: ('wagtail.blocks.StructBlock', [[('image', 11), ('image_width', 12), ('image_position', 13), ('text', 14), ('is_bottom_rule', 15)]], {}), 17: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 18: ('wagtail.blocks.CharBlock', (), {}), 19: ('wagtail.blocks.FloatBlock', (), {}), 20: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 21: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 18), ('numeric', 19), ('rich_text', 20)]], {}), 22: ('wagtail.blocks.StructBlock', [[('heading', 8), ('text_introduction', 5), ('options', 17), ('data', 21)]], {}), 23: ('wagtail.blocks.TextBlock', (), {}), 24: ('wagtail.blocks.TextBlock', (), {'required': False}), 25: ('wagtail.blocks.StructBlock', [[('body', 23), ('citation', 24)]], {}), 26: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 29: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 30: ('wagtail.blocks.StructBlock', [[('text', 5), ('aria_label', 27), ('url', 28), ('is_link_boldface', 29)]], {}), 31: ('wagtail.blocks.StructBlock', [[('slug_text', 5), ('paragraph_text', 26), ('button', 30)]], {}), 32: ('wagtail.blocks.ListBlock', (30,), {}), 33: ('wagtail.blocks.StructBlock', [[('heading', 5), ('paragraph', 26), ('links', 32)]], {}), 34: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 35: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 36: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 37: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('content', 37)]], {}), 39: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('heading', 8), ('image', 16), ('table', 22), ('quote', 25), ('cta', 31), ('related_links', 33), ('reusable_text', 34), ('reusable_notification', 35), ('email_signup', 36), ('well', 38)]], {}), 40: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 41: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 42: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 43: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 44: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('text', 5), ('level', 6), ('icon', 7)]], {'default': {'level': 'h3'}, 'required': False}), 46: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 47: ('wagtail.blocks.ListBlock', (30,), {'required': False}), 48: ('wagtail.blocks.StructBlock', [[('image', 11), ('heading', 45), ('body', 46), ('links', 47)]], {}), 49: ('wagtail.blocks.ListBlock', (48,), {'default': []}), 50: ('wagtail.blocks.StructBlock', [[('format', 40), ('heading', 8), ('intro', 26), ('link_image_and_heading', 41), ('has_top_rule_line', 42), ('lines_between_items', 43), ('border_radius_image', 44), ('info_units', 49)]], {}), 51: ('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}), 52: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 53: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 54: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 55: ('wagtail.blocks.StreamBlock', [[('paragraph', 26), ('well', 38), ('links', 30), ('info_unit_group', 50)]], {'blank': True}), 56: ('wagtail.blocks.StructBlock', [[('label', 5), ('icon', 5), ('is_bordered', 52), ('is_midtone', 52), ('is_expanded', 52), ('is_expanded_padding', 52), ('content', 55)]], {}), 57: ('wagtail.blocks.ListBlock', (56,), {}), 58: ('wagtail.blocks.StructBlock', [[('heading', 51), ('body', 26), ('is_accordion', 52), ('has_top_rule_line', 53), ('is_faq', 54), ('expandables', 57)]], {}), 59: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})}), + ), + migrations.AlterField( + model_name='collegecostspage', + name='content', + field=wagtail.fields.StreamField([('full_width_text', 41), ('info_unit_group', 52), ('expandable_group', 60), ('expandable', 58), ('well', 40), ('raw_html_block', 61)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 6: ('wagtail.blocks.CharBlock', (), {'required': False}), 7: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 8: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 14: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 15: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 16: ('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}), 17: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 13), ('image_position', 14), ('text', 15), ('is_bottom_rule', 16)]], {}), 18: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {}), 20: ('wagtail.blocks.FloatBlock', (), {}), 21: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 22: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 23: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 19), ('numeric', 20), ('rich_text', 21), ('rich_text_with_footnotes', 22)]], {}), 24: ('wagtail.blocks.StructBlock', [[('heading', 9), ('text_introduction', 6), ('options', 18), ('data', 23)]], {}), 25: ('wagtail.blocks.TextBlock', (), {}), 26: ('wagtail.blocks.TextBlock', (), {'required': False}), 27: ('wagtail.blocks.StructBlock', [[('body', 25), ('citation', 26)]], {}), 28: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 29: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 31: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 32: ('wagtail.blocks.StructBlock', [[('text', 6), ('aria_label', 29), ('url', 30), ('is_link_boldface', 31)]], {}), 33: ('wagtail.blocks.StructBlock', [[('slug_text', 6), ('paragraph_text', 28), ('button', 32)]], {}), 34: ('wagtail.blocks.ListBlock', (32,), {}), 35: ('wagtail.blocks.StructBlock', [[('heading', 6), ('paragraph', 28), ('links', 34)]], {}), 36: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 37: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 38: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 39: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 40: ('wagtail.blocks.StructBlock', [[('content', 39)]], {}), 41: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('content_with_footnotes', 5), ('heading', 9), ('image', 17), ('table', 24), ('quote', 27), ('cta', 33), ('related_links', 35), ('reusable_text', 36), ('reusable_notification', 37), ('email_signup', 38), ('well', 40)]], {}), 42: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 43: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 46: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 47: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'default': {'level': 'h3'}, 'required': False}), 48: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 49: ('wagtail.blocks.ListBlock', (32,), {'required': False}), 50: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 47), ('body', 48), ('links', 49)]], {}), 51: ('wagtail.blocks.ListBlock', (50,), {'default': []}), 52: ('wagtail.blocks.StructBlock', [[('format', 42), ('heading', 9), ('intro', 28), ('link_image_and_heading', 43), ('has_top_rule_line', 44), ('lines_between_items', 45), ('border_radius_image', 46), ('info_units', 51)]], {}), 53: ('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}), 54: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 55: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 57: ('wagtail.blocks.StreamBlock', [[('paragraph', 28), ('well', 40), ('links', 32), ('info_unit_group', 52)]], {'blank': True}), 58: ('wagtail.blocks.StructBlock', [[('label', 6), ('icon', 6), ('is_bordered', 54), ('is_midtone', 54), ('is_expanded', 54), ('is_expanded_padding', 54), ('content', 57)]], {}), 59: ('wagtail.blocks.ListBlock', (58,), {}), 60: ('wagtail.blocks.StructBlock', [[('heading', 53), ('body', 28), ('is_accordion', 54), ('has_top_rule_line', 55), ('is_faq', 56), ('expandables', 59)]], {}), 61: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})}), + ), + migrations.AlterField( + model_name='collegecostspage', + name='content', + field=wagtail.fields.StreamField([('full_width_text', 42), ('info_unit_group', 53), ('expandable_group', 61), ('expandable', 59), ('well', 41), ('raw_html_block', 62)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 6: ('wagtail.blocks.CharBlock', (), {'required': False}), 7: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 8: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 14: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 15: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 16: ('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}), 17: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 13), ('image_position', 14), ('text', 15), ('is_bottom_rule', 16)]], {}), 18: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {}), 20: ('wagtail.blocks.FloatBlock', (), {}), 21: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 22: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 23: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 19), ('numeric', 20), ('rich_text', 21), ('rich_text_with_footnotes', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('heading', 9), ('text_introduction', 6), ('options', 18), ('data', 23), ('caption', 24)]], {}), 26: ('wagtail.blocks.TextBlock', (), {}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.StructBlock', [[('body', 26), ('citation', 27)]], {}), 29: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 31: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 32: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 33: ('wagtail.blocks.StructBlock', [[('text', 6), ('aria_label', 30), ('url', 31), ('is_link_boldface', 32)]], {}), 34: ('wagtail.blocks.StructBlock', [[('slug_text', 6), ('paragraph_text', 29), ('button', 33)]], {}), 35: ('wagtail.blocks.ListBlock', (33,), {}), 36: ('wagtail.blocks.StructBlock', [[('heading', 6), ('paragraph', 29), ('links', 35)]], {}), 37: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 38: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 39: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 40: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 41: ('wagtail.blocks.StructBlock', [[('content', 40)]], {}), 42: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('content_with_footnotes', 5), ('heading', 9), ('image', 17), ('table', 25), ('quote', 28), ('cta', 34), ('related_links', 36), ('reusable_text', 37), ('reusable_notification', 38), ('email_signup', 39), ('well', 41)]], {}), 43: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 47: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 48: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'default': {'level': 'h3'}, 'required': False}), 49: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 50: ('wagtail.blocks.ListBlock', (33,), {'required': False}), 51: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 48), ('body', 49), ('links', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {'default': []}), 53: ('wagtail.blocks.StructBlock', [[('format', 43), ('heading', 9), ('intro', 29), ('link_image_and_heading', 44), ('has_top_rule_line', 45), ('lines_between_items', 46), ('border_radius_image', 47), ('info_units', 52)]], {}), 54: ('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}), 55: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 57: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 58: ('wagtail.blocks.StreamBlock', [[('paragraph', 29), ('well', 41), ('links', 33), ('info_unit_group', 53)]], {'blank': True}), 59: ('wagtail.blocks.StructBlock', [[('label', 6), ('icon', 6), ('is_bordered', 55), ('is_midtone', 55), ('is_expanded', 55), ('is_expanded_padding', 55), ('content', 58)]], {}), 60: ('wagtail.blocks.ListBlock', (59,), {}), 61: ('wagtail.blocks.StructBlock', [[('heading', 54), ('body', 29), ('is_accordion', 55), ('has_top_rule_line', 56), ('is_faq', 57), ('expandables', 60)]], {}), 62: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})}), + ), + ] 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 deleted file mode 100644 index 09667466660..00000000000 --- a/cfgov/paying_for_college/migrations/0001_squashed_0020_new_table_block.py +++ /dev/null @@ -1,220 +0,0 @@ -# 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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/0002_deprecate_iug_sharing.py b/cfgov/paying_for_college/migrations/0002_deprecate_iug_sharing.py deleted file mode 100644 index d0ac1dc0239..00000000000 --- a/cfgov/paying_for_college/migrations/0002_deprecate_iug_sharing.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-05 21:21 - -from django.db import migrations -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', '0001_squashed_0020_new_table_block'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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/0003_delete_repayingstudentdebtpage.py b/cfgov/paying_for_college/migrations/0003_delete_repayingstudentdebtpage.py deleted file mode 100644 index d2c6ea20cd1..00000000000 --- a/cfgov/paying_for_college/migrations/0003_delete_repayingstudentdebtpage.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-13 18:04 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('wagtailcore', '0078_referenceindex'), - ('wagtailforms', '0005_alter_formsubmission_form_data'), - ('wagtailinventory', '0003_pageblock_id_bigautofield'), - ('v1', '0008_deprecate_heading_related_posts_in_sidebar_breakout'), - ('wagtailredirects', '0008_add_verbose_name_plural'), - ('paying_for_college', '0002_deprecate_iug_sharing'), - ] - - operations = [ - migrations.DeleteModel( - name='RepayingStudentDebtPage', - ), - ] diff --git a/cfgov/paying_for_college/migrations/0004_deprecate_super_button.py b/cfgov/paying_for_college/migrations/0004_deprecate_super_button.py deleted file mode 100644 index ff287f79b7b..00000000000 --- a/cfgov/paying_for_college/migrations/0004_deprecate_super_button.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-22 17:15 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('paying_for_college', '0003_delete_repayingstudentdebtpage'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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/0005_remove_large_pull_quote.py b/cfgov/paying_for_college/migrations/0005_remove_large_pull_quote.py deleted file mode 100644 index 33760e9cdff..00000000000 --- a/cfgov/paying_for_college/migrations/0005_remove_large_pull_quote.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.20 on 2023-10-25 17:59 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('paying_for_college', '0004_deprecate_super_button'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))]))], 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/0006_update_ds_links.py b/cfgov/paying_for_college/migrations/0006_update_ds_links.py deleted file mode 100644 index 68146acbf1c..00000000000 --- a/cfgov/paying_for_college/migrations/0006_update_ds_links.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.23 on 2023-12-28 20:56 - -from django.db import migrations -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('paying_for_college', '0005_remove_large_pull_quote'), - ] - - operations = [ - migrations.AlterField( - model_name='collegecostspage', - name='header', - field=wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For 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. ', 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. ', 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), - ), - ] diff --git a/cfgov/paying_for_college/migrations/0007_add_table_intro.py b/cfgov/paying_for_college/migrations/0007_add_table_intro.py deleted file mode 100644 index f09c176f22b..00000000000 --- a/cfgov/paying_for_college/migrations/0007_add_table_intro.py +++ /dev/null @@ -1,1318 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 17:43 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("paying_for_college", "0006_update_ds_links"), - ] - - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "none", - "None", - ), - ( - "rounded", - "Rounded corners", - ), - ( - "circle", - "Circle", - ), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ], - 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/0008_raw_html_affordances.py b/cfgov/paying_for_college/migrations/0008_raw_html_affordances.py deleted file mode 100644 index b8fa9fa6e3c..00000000000 --- a/cfgov/paying_for_college/migrations/0008_raw_html_affordances.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-05 19:48 - -from django.db import migrations -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', '0007_add_table_intro'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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 guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('heading_continued', wagtail.blocks.CharBlock(help_text='Use if the heading needs to break to a second lineat a specific point in the text.', 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. ', 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. ', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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/0009_rtf_to_urtf.py b/cfgov/paying_for_college/migrations/0009_rtf_to_urtf.py deleted file mode 100644 index dd5285ee854..00000000000 --- a/cfgov/paying_for_college/migrations/0009_rtf_to_urtf.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-12 18:00 - -from django.db import migrations -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', '0008_raw_html_affordances'), - ] - - operations = [ - migrations.RunPython(code=migrations.RunPython.noop, reverse_code=migrations.RunPython.noop) - ] diff --git a/cfgov/paying_for_college/migrations/0010_add_reusable_notification.py b/cfgov/paying_for_college/migrations/0010_add_reusable_notification.py deleted file mode 100644 index abb3469509f..00000000000 --- a/cfgov/paying_for_college/migrations/0010_add_reusable_notification.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-25 14:57 - -from django.db import migrations -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', '0009_rtf_to_urtf'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_larger_heading', wagtail.blocks.BooleanBlock(required=False)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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/0011_remove_is_larger_heading.py b/cfgov/paying_for_college/migrations/0011_remove_is_larger_heading.py deleted file mode 100644 index 06abc7e05f4..00000000000 --- a/cfgov/paying_for_college/migrations/0011_remove_is_larger_heading.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-29 20:52 - -from django.db import migrations -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', '0010_add_reusable_notification'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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/0012_add_footnotes.py b/cfgov/paying_for_college/migrations/0012_add_footnotes.py deleted file mode 100644 index 2bb37fd804a..00000000000 --- a/cfgov/paying_for_college/migrations/0012_add_footnotes.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.11 on 2024-07-02 17:02 - -from django.db import migrations -import v1.blocks -import wagtail_footnotes.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', '0011_remove_is_larger_heading'), - ] - - 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], blank=True))])))])), ('expandable', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(required=False)), ('icon', 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)), ('is_expanded_padding', 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])), ('info_unit_group', wagtail.blocks.StructBlock([('format', wagtail.blocks.ChoiceBlock(choices=[('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], help_text='Choose the number and width of info unit columns.', label='Format')), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))]))], 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), - ), - ] diff --git a/cfgov/paying_for_college/migrations/0013_add_table_caption.py b/cfgov/paying_for_college/migrations/0013_add_table_caption.py deleted file mode 100644 index 356500e4098..00000000000 --- a/cfgov/paying_for_college/migrations/0013_add_table_caption.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.2.16 on 2024-09-23 13:54 - -from django.db import migrations -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('paying_for_college', '0012_add_footnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='collegecostspage', - name='content', - field=wagtail.fields.StreamField([('full_width_text', 42), ('info_unit_group', 53), ('expandable_group', 61), ('expandable', 59), ('well', 41), ('raw_html_block', 62)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 1: ('wagtail.blocks.RichTextBlock', (), {}), 2: ('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}), 3: ('wagtail.blocks.StructBlock', [[('link_id', 2)]], {}), 4: ('wagtail.blocks.StructBlock', [[('content_block', 1), ('anchor_link', 3)]], {}), 5: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 6: ('wagtail.blocks.CharBlock', (), {'required': False}), 7: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 8: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 14: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 15: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 16: ('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}), 17: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 13), ('image_position', 14), ('text', 15), ('is_bottom_rule', 16)]], {}), 18: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 19: ('wagtail.blocks.CharBlock', (), {}), 20: ('wagtail.blocks.FloatBlock', (), {}), 21: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 22: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 23: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 19), ('numeric', 20), ('rich_text', 21), ('rich_text_with_footnotes', 22)]], {}), 24: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 25: ('wagtail.blocks.StructBlock', [[('heading', 9), ('text_introduction', 6), ('options', 18), ('data', 23), ('caption', 24)]], {}), 26: ('wagtail.blocks.TextBlock', (), {}), 27: ('wagtail.blocks.TextBlock', (), {'required': False}), 28: ('wagtail.blocks.StructBlock', [[('body', 26), ('citation', 27)]], {}), 29: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 30: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 31: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 32: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 33: ('wagtail.blocks.StructBlock', [[('text', 6), ('aria_label', 30), ('url', 31), ('is_link_boldface', 32)]], {}), 34: ('wagtail.blocks.StructBlock', [[('slug_text', 6), ('paragraph_text', 29), ('button', 33)]], {}), 35: ('wagtail.blocks.ListBlock', (33,), {}), 36: ('wagtail.blocks.StructBlock', [[('heading', 6), ('paragraph', 29), ('links', 35)]], {}), 37: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 38: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 39: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 40: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 41: ('wagtail.blocks.StructBlock', [[('content', 40)]], {}), 42: ('wagtail.blocks.StreamBlock', [[('content', 0), ('content_with_anchor', 4), ('content_with_footnotes', 5), ('heading', 9), ('image', 17), ('table', 25), ('quote', 28), ('cta', 34), ('related_links', 36), ('reusable_text', 37), ('reusable_notification', 38), ('email_signup', 39), ('well', 41)]], {}), 43: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 46: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 47: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 48: ('wagtail.blocks.StructBlock', [[('text', 6), ('level', 7), ('icon', 8)]], {'default': {'level': 'h3'}, 'required': False}), 49: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 50: ('wagtail.blocks.ListBlock', (33,), {'required': False}), 51: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 48), ('body', 49), ('links', 50)]], {}), 52: ('wagtail.blocks.ListBlock', (51,), {'default': []}), 53: ('wagtail.blocks.StructBlock', [[('format', 43), ('heading', 9), ('intro', 29), ('link_image_and_heading', 44), ('has_top_rule_line', 45), ('lines_between_items', 46), ('border_radius_image', 47), ('info_units', 52)]], {}), 54: ('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}), 55: ('wagtail.blocks.BooleanBlock', (), {'required': False}), 56: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of expandable group.', 'required': False}), 57: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add FAQ schema markup to expandables.', 'label': 'Uses FAQ schema', 'required': False}), 58: ('wagtail.blocks.StreamBlock', [[('paragraph', 29), ('well', 41), ('links', 33), ('info_unit_group', 53)]], {'blank': True}), 59: ('wagtail.blocks.StructBlock', [[('label', 6), ('icon', 6), ('is_bordered', 55), ('is_midtone', 55), ('is_expanded', 55), ('is_expanded_padding', 55), ('content', 58)]], {}), 60: ('wagtail.blocks.ListBlock', (59,), {}), 61: ('wagtail.blocks.StructBlock', [[('heading', 54), ('body', 29), ('is_accordion', 55), ('has_top_rule_line', 56), ('is_faq', 57), ('expandables', 60)]], {}), 62: ('wagtail.blocks.RawHTMLBlock', (), {'label': 'Raw HTML block'})}), - ), - ] diff --git a/cfgov/paying_for_college/models/disclosures.py b/cfgov/paying_for_college/models/disclosures.py index e97672aa0f9..29b236f6ad5 100644 --- a/cfgov/paying_for_college/models/disclosures.py +++ b/cfgov/paying_for_college/models/disclosures.py @@ -597,7 +597,7 @@ def notify_school(self): } now = datetime.datetime.now() no_contact_msg = ( - "School notification failed: " f"No endpoint or email info {now}" + f"School notification failed: No endpoint or email info {now}" ) # we prefer to use endpount notification, so use it first if existing if school.contact: @@ -608,26 +608,24 @@ def notify_school(self): try: resp = requests.post(endpoint, data=payload, timeout=10) except requests.exceptions.ConnectionError as e: - exmsg = "Error: connection error at school " f"{now} {e}\n" + exmsg = f"Error: connection error at school {now} {e}\n" self.log = self.log + exmsg self.save() return exmsg except requests.exceptions.Timeout: - exmsg = ( - "Error: connection with school " f"timed out {now}\n" - ) + exmsg = f"Error: connection with school timed out {now}\n" self.log = self.log + exmsg self.save() return exmsg except requests.exceptions.RequestException as e: - exmsg = "Error: request error at school: " f"{now} {e}\n" + exmsg = f"Error: request error at school: {now} {e}\n" self.log = self.log + exmsg self.save() return exmsg else: if resp.ok: self.sent = True - self.log = "School notified " f"via endpoint {now}" + self.log = f"School notified via endpoint {now}" self.save() return self.log else: @@ -659,7 +657,7 @@ def notify_school(self): ) self.sent = True self.emails = school.contact.contacts - self.log = "School notified via email " f"at {self.emails}" + self.log = f"School notified via email at {self.emails}" self.save() return self.log except smtplib.SMTPException as e: diff --git a/cfgov/paying_for_college/tests/test_commands.py b/cfgov/paying_for_college/tests/test_commands.py index ab3d474335c..1b5c892eaa0 100644 --- a/cfgov/paying_for_college/tests/test_commands.py +++ b/cfgov/paying_for_college/tests/test_commands.py @@ -53,17 +53,17 @@ def test_api_command_calls_update(self, mock_update): self.assertTrue(mock_update.call_count == 1) call_command("update_via_api", "--school_id", "999999") self.assertTrue(mock_update.call_count == 2) - self.assertTrue(mock_update.called_with(single_school=999999)) + mock_update.assert_called_with(single_school="999999") call_command( "update_via_api", "--school_id", "999999", "--save_programs" ) self.assertTrue(mock_update.call_count == 3) - self.assertTrue( - mock_update.called_with(single_school=999999, store_programs=True) + mock_update.assert_called_with( + single_school="999999", store_programs=True ) call_command("update_via_api", "--save_programs") self.assertTrue(mock_update.call_count == 4) - self.assertTrue(mock_update.called_with(store_programs=True)) + mock_update.assert_called_with(store_programs=True) @mock.patch( "paying_for_college.management.commands." @@ -111,7 +111,7 @@ def test_retry_notifications(self, mock_retry): self.assertEqual(mock_retry.call_count, 1) call_command("retry_notifications", "--days", "2") self.assertEqual(mock_retry.call_count, 2) - self.assertTrue(mock_retry.called_with(days=2)) + mock_retry.assert_called_with(days=2) @mock.patch( "paying_for_college.management.commands." @@ -125,4 +125,4 @@ def test_send_stale_notifications(self, mock_send): "send_stale_notifications", "--add-email", "fake@fake.com" ) self.assertEqual(mock_send.call_count, 2) - self.assertTrue(mock_send.called_with(add_email=["fake@fake.com"])) + mock_send.assert_called_with(add_email=["fake@fake.com"]) diff --git a/cfgov/paying_for_college/tests/test_load_programs.py b/cfgov/paying_for_college/tests/test_load_programs.py index b837d21ef1d..d1ac804e62f 100644 --- a/cfgov/paying_for_college/tests/test_load_programs.py +++ b/cfgov/paying_for_college/tests/test_load_programs.py @@ -186,8 +186,7 @@ def test_read_in_s3(self, mock_requests): "load_programs.clean_string_as_string" ) @patch( - "paying_for_college.disclosures.scripts." - "load_programs.standardize_rate" + "paying_for_college.disclosures.scripts.load_programs.standardize_rate" ) def test_clean(self, mock_standardize, mock_string, mock_number): mock_number.return_value = "NUMBER" @@ -225,8 +224,7 @@ def test_load(self, mock_get_or_create_program, mock_clean, mock_read_in): "and Schools (ACICS) - Test" ) jpr_note = ( - "The rate reflects employment status " - "as of November 1, 2014 - Test" + "The rate reflects employment status as of November 1, 2014 - Test" ) program_name = "Occupational Therapy Assistant - 981 - Test" mock_read_in.return_value = [ diff --git a/cfgov/paying_for_college/tests/test_models.py b/cfgov/paying_for_college/tests/test_models.py index a1fb6d20439..2be6ec3d335 100644 --- a/cfgov/paying_for_college/tests/test_models.py +++ b/cfgov/paying_for_college/tests/test_models.py @@ -63,6 +63,7 @@ def create_school( state="OZ", ope6=5555, ope8=555500, + settlement_school="", ): return School.objects.create( school_id=school_id, @@ -74,6 +75,7 @@ def create_school( state=state, ope6_id=ope6, ope8_id=ope8, + settlement_school=settlement_school, ) def create_alias(self, alias, school): @@ -142,18 +144,24 @@ def test_school_related_models(self): self.assertTrue(s.convert_ope6() == "") self.assertTrue(s.convert_ope8() == "") - @mock.patch("paying_for_college.models.disclosures.requests.get") + @mock.patch("paying_for_college.models.disclosures.requests.post") def test_notification_request(self, mock_requests): contact = self.create_contact() unicode_endpoint = "http://unicode.contact.com" contact.endpoint = unicode_endpoint contact.save() - school = self.create_school() + school = self.create_school(settlement_school="settlement") school.contact = contact notification = self.create_notification(school) notification.notify_school() - self.assertTrue( - mock_requests.called_with, unicode_endpoint.encode("utf-8") + mock_requests.assert_called_with( + unicode_endpoint.encode("utf-8"), + data={ + "oid": notification.oid, + "time": notification.timestamp.isoformat(), + "errors": "none", + }, + timeout=10, ) def test_constant_models(self): diff --git a/cfgov/paying_for_college/tests/test_scripts.py b/cfgov/paying_for_college/tests/test_scripts.py index e708e5cdd46..cd766ef5bec 100644 --- a/cfgov/paying_for_college/tests/test_scripts.py +++ b/cfgov/paying_for_college/tests/test_scripts.py @@ -326,7 +326,9 @@ def test_api_school_query(self, mock_requests): mock_requests.return_value = mock_response api_utils.api_school_query(123456, "school.name") self.assertEqual(mock_requests.call_count, 1) - self.assertTrue(mock_requests.called_with((123456, "school.name"))) + mock_requests.assert_called_with( + "https://api.data.gov/ed/collegescorecard/v1/schools.json?id=123456&api_key=&fields=school.name" + ) @unittest.skipUnless( connection.vendor == "postgresql", "PostgreSQL-dependent" @@ -338,8 +340,9 @@ def test_single_school_request(self, mock_get_data): mock_get_data.return_value = self.mock_results.get("results")[0] update_colleges.update(single_school=408039) self.assertEqual(mock_get_data.call_count, 1) - self.assertTrue( - mock_get_data.called_with(408039, api_utils.build_field_string()) + mock_get_data.assert_called_with( + f"https://api.data.gov/ed/collegescorecard/v1/schools.json?" + f"api_key=&id=408039&fields={api_utils.build_field_string()}" ) @patch( @@ -434,7 +437,7 @@ def test_get_scorecard_data(self, mock_requests): mock_requests.return_value = mock_response data = update_colleges.get_scorecard_data("example.com") self.assertEqual(mock_requests.call_count, 1) - self.assertTrue(mock_requests.called_with("example.com")) + mock_requests.assert_called_with("example.com") self.assertEqual(type(data), dict) @patch( @@ -545,7 +548,7 @@ def test_clean_csv_headings(self, mock_write, mock_read): self.assertEqual(mock_write.call_count, 3) def test_unzip_file(self): - test_zip = f"{COLLEGE_ROOT}/data_sources/ipeds/" "test.txt.zip" + test_zip = f"{COLLEGE_ROOT}/data_sources/ipeds/test.txt.zip" self.assertTrue(update_ipeds.unzip_file(test_zip)) @patch("paying_for_college.disclosures.scripts.update_ipeds.requests.get") diff --git a/cfgov/paying_for_college/tests/test_search.py b/cfgov/paying_for_college/tests/test_search.py index 5352c3591f4..9cef39e408e 100644 --- a/cfgov/paying_for_college/tests/test_search.py +++ b/cfgov/paying_for_college/tests/test_search.py @@ -15,44 +15,40 @@ class SchoolSearchTest(TestCase): fixtures = ["test_fixture.json", "test_school.json"] @mock.patch.object(SchoolDocument, "search") - def test_school_autocomplete(self, mock_autocomplete): - term = "Kansas" - school = School.objects.get(pk=155317) - school.save() - mock_return = mock.Mock() - mock_return.text = school.primary_alias - mock_return.school_id = school.school_id - mock_return.city = school.city - mock_return.state = school.state - mock_return.zip5 = school.zip5 - mock_return.nicknames = "Jayhawks" - # mock_autocomplete.return_value = [mock_return] - mock_queryset = mock.Mock() - mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) - mock_queryset.count.return_value = 1 - # mock_autocomplete.return_value = mock_queryset - mock_autocomplete().query().filter().sort().__getitem__().execute.return_value = [ # noqa: E501 - mock_return + def test_school_autocomplete(self, mock_search): + # Mock what Opensearch would return in response to a query. + mock_search.return_value.query.return_value.execute.return_value = [ + SchoolDocument.from_opensearch( + { + "_source": SchoolDocument().prepare( + School.objects.get(pk=155317) + ) + } + ) ] - mock_count = mock.Mock(return_value=1) - mock_autocomplete().query().count = mock_count - mock_autocomplete().query().filter().sort().__getitem__().count = ( - mock_count - ) - url = "{}?q=Kansas".format( - reverse("paying_for_college:disclosures:school_search") - ) - response = school_autocomplete(RequestFactory().get(url)) - # output = json.loads(response.content) - # self.assertEqual(sorted(output[0].keys()), ["id", "schoolname"]) + + autocomplete = reverse("paying_for_college:disclosures:school_search") + request = RequestFactory().get(f"{autocomplete}?q=Kansas") + response = school_autocomplete(request) self.assertEqual(response.status_code, 200) - self.assertEqual(mock_autocomplete.call_count, 4) - self.assertTrue(mock_autocomplete.called_with(search_term=term)) - self.assertTrue("Kansas" in mock_return.text) - self.assertEqual(155317, mock_return.school_id) - self.assertTrue("Jayhawks" in mock_return.nicknames) - self.assertTrue("Lawrence" in mock_return.city) - self.assertTrue("KS" in mock_return.state) + + self.assertEqual( + json.loads(response.content), + [ + { + "schoolname": "University of Kansas", + "id": 155317, + "city": "Lawrence", + "nicknames": "Jayhawks", + "state": "KS", + "zip5": "", + "url": reverse( + "paying_for_college:disclosures:school-json", + args=(155317,), + ), + } + ], + ) @mock.patch.object(SchoolDocument, "search") def test_autocomplete_school_id(self, mock_search): diff --git a/cfgov/paying_for_college/tests/test_views.py b/cfgov/paying_for_college/tests/test_views.py index ea04ad0f2dd..3db11c9118f 100644 --- a/cfgov/paying_for_college/tests/test_views.py +++ b/cfgov/paying_for_college/tests/test_views.py @@ -185,25 +185,23 @@ def test_offer(self): ) no_oid = "?iped=408039&pid=981&oid=" bad_school = ( - "?iped=xxxxxx&pid=981&" "oid=f38283b5b7c939a058889f997949efa566c61" + "?iped=xxxxxx&pid=981&oid=f38283b5b7c939a058889f997949efa566c61" ) bad_program = ( - "?iped=408039&pid=xxx&" - "oid=f38283b5b7c939a058889f997949efa566c616c5" + "?iped=408039&pid=xxx&oid=f38283b5b7c939a058889f997949efa566c616c5" ) # puerto_rico = '?iped=243197&pid=981&oid=' missing_oid_field = "?iped=408039&pid=981" missing_school_id = "?iped=" bad_oid = ( - "?iped=408039&pid=981&oid=f382" - "f997949efa566c616c5" + "?iped=408039&pid=981&oid=f382f997949efa566c616c5" ) illegal_program = ( "?iped=408039&pid=<981>&oid=f38283b" "5b7c939a058889f997949efa566c616c5" ) no_program = ( - "?iped=408039&pid=&oid=f38283b" "5b7c939a058889f997949efa566c616c5" + "?iped=408039&pid=&oid=f38283b5b7c939a058889f997949efa566c616c5" ) resp = self.client.get(url + qstring) self.assertEqual(resp.status_code, 200) diff --git a/cfgov/privacy/forms.py b/cfgov/privacy/forms.py index 7143779d13c..91cbd266fa0 100644 --- a/cfgov/privacy/forms.py +++ b/cfgov/privacy/forms.py @@ -26,8 +26,7 @@ class PrivacyActForm(forms.Form): ) system_of_record = forms.CharField( label=( - "Name of the system of records you believe contain the " - "record(s)" + "Name of the system of records you believe contain the record(s)" ), required=False, widget=forms.TextInput(attrs=text_input_attrs), @@ -35,7 +34,7 @@ class PrivacyActForm(forms.Form): date_of_records = forms.CharField( label="Date of the record(s)", help_text=( - "Or the period in which you believe that the record was " "created" + "Or the period in which you believe that the record was created" ), required=False, widget=forms.TextInput(attrs=text_input_attrs), diff --git a/cfgov/regulations3k/migrations/0001_2024_squash.py b/cfgov/regulations3k/migrations/0001_2024_squash.py new file mode 100644 index 00000000000..d9e224a6a7e --- /dev/null +++ b/cfgov/regulations3k/migrations/0001_2024_squash.py @@ -0,0 +1,176 @@ +# Generated by Django 4.2.17 on 2024-12-26 16:00 + +import datetime +import django.core.validators +from django.db import migrations, models +import django.db.migrations.operations.special +import django.db.models.deletion +import re +import wagtail.contrib.routable_page.models +import wagtail.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('v1', '0001_2024_squash'), + ] + + 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', 9)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {'help_text': 'For guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', 'required': False}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'Use if the heading needs to break to a second lineat a specific point in the text.', 'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'help_text': 'Character counts (including spaces) at largest breakpoint:', 'label': 'Sub-heading', 'required': False}), 3: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'When saving illustrations, use a transparent background. ', 'label': 'Large image', 'required': False}), 4: ('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. ', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'Specify a hex value (including the # sign) from our official color palette.', 'required': False}), 6: ('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}), 7: ('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}), 8: ('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}), 9: ('wagtail.blocks.StructBlock', [[('heading', 0), ('heading_continued', 1), ('body', 2), ('image', 3), ('small_image', 4), ('background_color', 5), ('is_white_text', 6), ('is_overlay', 7), ('is_bleeding', 8)]], {})})), + ('content', wagtail.fields.StreamField([('notification', 9), ('full_width_text', 47)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {}), 10: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 11: ('wagtail.blocks.RichTextBlock', (), {}), 12: ('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}), 13: ('wagtail.blocks.StructBlock', [[('link_id', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('content_block', 11), ('anchor_link', 13)]], {}), 15: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 17: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 15), ('icon', 16)]], {'required': False}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 20: ('wagtail.blocks.StructBlock', [[('upload', 18), ('alt', 19)]], {}), 21: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 23: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 24: ('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}), 25: ('wagtail.blocks.StructBlock', [[('image', 20), ('image_width', 21), ('image_position', 22), ('text', 23), ('is_bottom_rule', 24)]], {}), 26: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {}), 28: ('wagtail.blocks.FloatBlock', (), {}), 29: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 30: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 27), ('numeric', 28), ('rich_text', 29)]], {}), 31: ('wagtail.blocks.StructBlock', [[('heading', 17), ('text_introduction', 3), ('options', 26), ('data', 30)]], {}), 32: ('wagtail.blocks.TextBlock', (), {}), 33: ('wagtail.blocks.TextBlock', (), {'required': False}), 34: ('wagtail.blocks.StructBlock', [[('body', 32), ('citation', 33)]], {}), 35: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 36: ('wagtail.blocks.StructBlock', [[('slug_text', 3), ('paragraph_text', 35), ('button', 7)]], {}), 37: ('wagtail.blocks.ListBlock', (7,), {}), 38: ('wagtail.blocks.StructBlock', [[('heading', 3), ('paragraph', 35), ('links', 37)]], {}), 39: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 40: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 41: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 42: ('wagtail.blocks.StructBlock', [[('content', 41)]], {}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'Regulations list heading', 'required': False}), 44: ('wagtail.blocks.PageChooserBlock', (), {'help_text': 'Link to more regulations'}), 45: ('wagtail.blocks.CharBlock', (), {'help_text': 'Text to show on link to more regulations', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('heading', 43), ('more_regs_page', 44), ('more_regs_text', 45)]], {}), 47: ('wagtail.blocks.StreamBlock', [[('content', 10), ('content_with_anchor', 14), ('heading', 17), ('image', 25), ('table', 31), ('quote', 34), ('cta', 36), ('related_links', 38), ('reusable_text', 39), ('email_signup', 40), ('well', 42), ('regulations_list', 46)]], {})})), + ], + 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', 9), ('notification', 14)], blank=True, block_lookup={0: ('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}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 5: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 6: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 3), ('url', 4), ('is_link_boldface', 5)]], {}), 7: ('wagtail.blocks.ListBlock', (6,), {'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'help_text': 'Check this to add a horizontal rule line to bottom of text introduction.', 'label': 'Has bottom rule', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('eyebrow', 0), ('heading', 1), ('intro', 2), ('body', 2), ('links', 7), ('has_rule', 8)]], {}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 12: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 13: ('wagtail.blocks.ListBlock', (6,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 14: ('wagtail.blocks.StructBlock', [[('type', 10), ('message', 11), ('explanation', 12), ('links', 13)]], {})})), + ('content', wagtail.fields.StreamField([('info_unit_group', 22), ('full_width_text', 49)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 4: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'required': False}), 5: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 9: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'default': {'level': 'h3'}, 'required': False}), 14: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 15: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 17: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 15), ('url', 16), ('is_link_boldface', 17)]], {}), 19: ('wagtail.blocks.ListBlock', (18,), {'required': False}), 20: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 13), ('body', 14), ('links', 19)]], {}), 21: ('wagtail.blocks.ListBlock', (20,), {'default': []}), 22: ('wagtail.blocks.StructBlock', [[('format', 0), ('heading', 4), ('intro', 5), ('link_image_and_heading', 6), ('has_top_rule_line', 7), ('lines_between_items', 8), ('border_radius_image', 9), ('info_units', 21)]], {}), 23: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 24: ('wagtail.blocks.RichTextBlock', (), {}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('link_id', 25)]], {}), 27: ('wagtail.blocks.StructBlock', [[('content_block', 24), ('anchor_link', 26)]], {}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 30: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 31: ('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}), 32: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 28), ('image_position', 29), ('text', 30), ('is_bottom_rule', 31)]], {}), 33: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {}), 35: ('wagtail.blocks.FloatBlock', (), {}), 36: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 37: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 34), ('numeric', 35), ('rich_text', 36)]], {}), 38: ('wagtail.blocks.StructBlock', [[('heading', 4), ('text_introduction', 1), ('options', 33), ('data', 37)]], {}), 39: ('wagtail.blocks.TextBlock', (), {}), 40: ('wagtail.blocks.TextBlock', (), {'required': False}), 41: ('wagtail.blocks.StructBlock', [[('body', 39), ('citation', 40)]], {}), 42: ('wagtail.blocks.StructBlock', [[('slug_text', 1), ('paragraph_text', 5), ('button', 18)]], {}), 43: ('wagtail.blocks.ListBlock', (18,), {}), 44: ('wagtail.blocks.StructBlock', [[('heading', 1), ('paragraph', 5), ('links', 43)]], {}), 45: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 46: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 47: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 48: ('wagtail.blocks.StructBlock', [[('content', 47)]], {}), 49: ('wagtail.blocks.StreamBlock', [[('content', 23), ('content_with_anchor', 27), ('heading', 4), ('image', 32), ('table', 38), ('quote', 41), ('cta', 42), ('related_links', 44), ('reusable_text', 45), ('email_signup', 46), ('well', 48)]], {})}, null=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'), + ), + migrations.RunPython( + code=django.db.migrations.operations.special.RunPython.noop, + reverse_code=django.db.migrations.operations.special.RunPython.noop, + ), + migrations.AlterField( + model_name='regulationlandingpage', + name='content', + field=wagtail.fields.StreamField([('notification', 9), ('full_width_text', 48)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {}), 10: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 11: ('wagtail.blocks.RichTextBlock', (), {}), 12: ('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}), 13: ('wagtail.blocks.StructBlock', [[('link_id', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('content_block', 11), ('anchor_link', 13)]], {}), 15: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 16: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 17: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 15), ('icon', 16)]], {'required': False}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 19: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 20: ('wagtail.blocks.StructBlock', [[('upload', 18), ('alt', 19)]], {}), 21: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 23: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 24: ('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}), 25: ('wagtail.blocks.StructBlock', [[('image', 20), ('image_width', 21), ('image_position', 22), ('text', 23), ('is_bottom_rule', 24)]], {}), 26: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {}), 28: ('wagtail.blocks.FloatBlock', (), {}), 29: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 30: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 27), ('numeric', 28), ('rich_text', 29)]], {}), 31: ('wagtail.blocks.StructBlock', [[('heading', 17), ('text_introduction', 3), ('options', 26), ('data', 30)]], {}), 32: ('wagtail.blocks.TextBlock', (), {}), 33: ('wagtail.blocks.TextBlock', (), {'required': False}), 34: ('wagtail.blocks.StructBlock', [[('body', 32), ('citation', 33)]], {}), 35: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 36: ('wagtail.blocks.StructBlock', [[('slug_text', 3), ('paragraph_text', 35), ('button', 7)]], {}), 37: ('wagtail.blocks.ListBlock', (7,), {}), 38: ('wagtail.blocks.StructBlock', [[('heading', 3), ('paragraph', 35), ('links', 37)]], {}), 39: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 40: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 41: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 42: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 43: ('wagtail.blocks.StructBlock', [[('content', 42)]], {}), 44: ('wagtail.blocks.CharBlock', (), {'help_text': 'Regulations list heading', 'required': False}), 45: ('wagtail.blocks.PageChooserBlock', (), {'help_text': 'Link to more regulations'}), 46: ('wagtail.blocks.CharBlock', (), {'help_text': 'Text to show on link to more regulations', 'required': False}), 47: ('wagtail.blocks.StructBlock', [[('heading', 44), ('more_regs_page', 45), ('more_regs_text', 46)]], {}), 48: ('wagtail.blocks.StreamBlock', [[('content', 10), ('content_with_anchor', 14), ('heading', 17), ('image', 25), ('table', 31), ('quote', 34), ('cta', 36), ('related_links', 38), ('reusable_text', 39), ('reusable_notification', 40), ('email_signup', 41), ('well', 43), ('regulations_list', 47)]], {})}), + ), + migrations.AlterField( + model_name='regulationpage', + name='content', + field=wagtail.fields.StreamField([('info_unit_group', 22), ('full_width_text', 50)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 4: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'required': False}), 5: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 9: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'default': {'level': 'h3'}, 'required': False}), 14: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 15: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 17: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 15), ('url', 16), ('is_link_boldface', 17)]], {}), 19: ('wagtail.blocks.ListBlock', (18,), {'required': False}), 20: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 13), ('body', 14), ('links', 19)]], {}), 21: ('wagtail.blocks.ListBlock', (20,), {'default': []}), 22: ('wagtail.blocks.StructBlock', [[('format', 0), ('heading', 4), ('intro', 5), ('link_image_and_heading', 6), ('has_top_rule_line', 7), ('lines_between_items', 8), ('border_radius_image', 9), ('info_units', 21)]], {}), 23: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 24: ('wagtail.blocks.RichTextBlock', (), {}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('link_id', 25)]], {}), 27: ('wagtail.blocks.StructBlock', [[('content_block', 24), ('anchor_link', 26)]], {}), 28: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 30: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 31: ('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}), 32: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 28), ('image_position', 29), ('text', 30), ('is_bottom_rule', 31)]], {}), 33: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 34: ('wagtail.blocks.CharBlock', (), {}), 35: ('wagtail.blocks.FloatBlock', (), {}), 36: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 37: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 34), ('numeric', 35), ('rich_text', 36)]], {}), 38: ('wagtail.blocks.StructBlock', [[('heading', 4), ('text_introduction', 1), ('options', 33), ('data', 37)]], {}), 39: ('wagtail.blocks.TextBlock', (), {}), 40: ('wagtail.blocks.TextBlock', (), {'required': False}), 41: ('wagtail.blocks.StructBlock', [[('body', 39), ('citation', 40)]], {}), 42: ('wagtail.blocks.StructBlock', [[('slug_text', 1), ('paragraph_text', 5), ('button', 18)]], {}), 43: ('wagtail.blocks.ListBlock', (18,), {}), 44: ('wagtail.blocks.StructBlock', [[('heading', 1), ('paragraph', 5), ('links', 43)]], {}), 45: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 46: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 47: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 48: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 49: ('wagtail.blocks.StructBlock', [[('content', 48)]], {}), 50: ('wagtail.blocks.StreamBlock', [[('content', 23), ('content_with_anchor', 27), ('heading', 4), ('image', 32), ('table', 38), ('quote', 41), ('cta', 42), ('related_links', 44), ('reusable_text', 45), ('reusable_notification', 46), ('email_signup', 47), ('well', 49)]], {})}, null=True), + ), + migrations.AlterField( + model_name='regulationlandingpage', + name='content', + field=wagtail.fields.StreamField([('notification', 9), ('full_width_text', 50)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {}), 10: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 11: ('wagtail.blocks.RichTextBlock', (), {}), 12: ('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}), 13: ('wagtail.blocks.StructBlock', [[('link_id', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('content_block', 11), ('anchor_link', 13)]], {}), 15: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 16: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 17: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 16), ('icon', 17)]], {'required': False}), 19: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 20: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('upload', 19), ('alt', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 23: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('image', 21), ('image_width', 22), ('image_position', 23), ('text', 24), ('is_bottom_rule', 25)]], {}), 27: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {}), 29: ('wagtail.blocks.FloatBlock', (), {}), 30: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 31: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 32: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 28), ('numeric', 29), ('rich_text', 30), ('rich_text_with_footnotes', 31)]], {}), 33: ('wagtail.blocks.StructBlock', [[('heading', 18), ('text_introduction', 3), ('options', 27), ('data', 32)]], {}), 34: ('wagtail.blocks.TextBlock', (), {}), 35: ('wagtail.blocks.TextBlock', (), {'required': False}), 36: ('wagtail.blocks.StructBlock', [[('body', 34), ('citation', 35)]], {}), 37: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 38: ('wagtail.blocks.StructBlock', [[('slug_text', 3), ('paragraph_text', 37), ('button', 7)]], {}), 39: ('wagtail.blocks.ListBlock', (7,), {}), 40: ('wagtail.blocks.StructBlock', [[('heading', 3), ('paragraph', 37), ('links', 39)]], {}), 41: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 42: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 43: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 44: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 45: ('wagtail.blocks.StructBlock', [[('content', 44)]], {}), 46: ('wagtail.blocks.CharBlock', (), {'help_text': 'Regulations list heading', 'required': False}), 47: ('wagtail.blocks.PageChooserBlock', (), {'help_text': 'Link to more regulations'}), 48: ('wagtail.blocks.CharBlock', (), {'help_text': 'Text to show on link to more regulations', 'required': False}), 49: ('wagtail.blocks.StructBlock', [[('heading', 46), ('more_regs_page', 47), ('more_regs_text', 48)]], {}), 50: ('wagtail.blocks.StreamBlock', [[('content', 10), ('content_with_anchor', 14), ('content_with_footnotes', 15), ('heading', 18), ('image', 26), ('table', 33), ('quote', 36), ('cta', 38), ('related_links', 40), ('reusable_text', 41), ('reusable_notification', 42), ('email_signup', 43), ('well', 45), ('regulations_list', 49)]], {})}), + ), + migrations.AlterField( + model_name='regulationpage', + name='content', + field=wagtail.fields.StreamField([('info_unit_group', 22), ('full_width_text', 52)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 4: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'required': False}), 5: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 9: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'default': {'level': 'h3'}, 'required': False}), 14: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 15: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 17: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 15), ('url', 16), ('is_link_boldface', 17)]], {}), 19: ('wagtail.blocks.ListBlock', (18,), {'required': False}), 20: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 13), ('body', 14), ('links', 19)]], {}), 21: ('wagtail.blocks.ListBlock', (20,), {'default': []}), 22: ('wagtail.blocks.StructBlock', [[('format', 0), ('heading', 4), ('intro', 5), ('link_image_and_heading', 6), ('has_top_rule_line', 7), ('lines_between_items', 8), ('border_radius_image', 9), ('info_units', 21)]], {}), 23: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 24: ('wagtail.blocks.RichTextBlock', (), {}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('link_id', 25)]], {}), 27: ('wagtail.blocks.StructBlock', [[('content_block', 24), ('anchor_link', 26)]], {}), 28: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 30: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 31: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 32: ('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}), 33: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 29), ('image_position', 30), ('text', 31), ('is_bottom_rule', 32)]], {}), 34: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {}), 36: ('wagtail.blocks.FloatBlock', (), {}), 37: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 38: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 39: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 35), ('numeric', 36), ('rich_text', 37), ('rich_text_with_footnotes', 38)]], {}), 40: ('wagtail.blocks.StructBlock', [[('heading', 4), ('text_introduction', 1), ('options', 34), ('data', 39)]], {}), 41: ('wagtail.blocks.TextBlock', (), {}), 42: ('wagtail.blocks.TextBlock', (), {'required': False}), 43: ('wagtail.blocks.StructBlock', [[('body', 41), ('citation', 42)]], {}), 44: ('wagtail.blocks.StructBlock', [[('slug_text', 1), ('paragraph_text', 5), ('button', 18)]], {}), 45: ('wagtail.blocks.ListBlock', (18,), {}), 46: ('wagtail.blocks.StructBlock', [[('heading', 1), ('paragraph', 5), ('links', 45)]], {}), 47: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 48: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 49: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 50: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 51: ('wagtail.blocks.StructBlock', [[('content', 50)]], {}), 52: ('wagtail.blocks.StreamBlock', [[('content', 23), ('content_with_anchor', 27), ('content_with_footnotes', 28), ('heading', 4), ('image', 33), ('table', 40), ('quote', 43), ('cta', 44), ('related_links', 46), ('reusable_text', 47), ('reusable_notification', 48), ('email_signup', 49), ('well', 51)]], {})}, null=True), + ), + migrations.AlterField( + model_name='regulationlandingpage', + name='content', + field=wagtail.fields.StreamField([('notification', 9), ('full_width_text', 51)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {}), 10: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 11: ('wagtail.blocks.RichTextBlock', (), {}), 12: ('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}), 13: ('wagtail.blocks.StructBlock', [[('link_id', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('content_block', 11), ('anchor_link', 13)]], {}), 15: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 16: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 17: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 16), ('icon', 17)]], {'required': False}), 19: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 20: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('upload', 19), ('alt', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 23: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('image', 21), ('image_width', 22), ('image_position', 23), ('text', 24), ('is_bottom_rule', 25)]], {}), 27: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {}), 29: ('wagtail.blocks.FloatBlock', (), {}), 30: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 31: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 32: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 28), ('numeric', 29), ('rich_text', 30), ('rich_text_with_footnotes', 31)]], {}), 33: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 34: ('wagtail.blocks.StructBlock', [[('heading', 18), ('text_introduction', 3), ('options', 27), ('data', 32), ('caption', 33)]], {}), 35: ('wagtail.blocks.TextBlock', (), {}), 36: ('wagtail.blocks.TextBlock', (), {'required': False}), 37: ('wagtail.blocks.StructBlock', [[('body', 35), ('citation', 36)]], {}), 38: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('slug_text', 3), ('paragraph_text', 38), ('button', 7)]], {}), 40: ('wagtail.blocks.ListBlock', (7,), {}), 41: ('wagtail.blocks.StructBlock', [[('heading', 3), ('paragraph', 38), ('links', 40)]], {}), 42: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 43: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 44: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 45: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('content', 45)]], {}), 47: ('wagtail.blocks.CharBlock', (), {'help_text': 'Regulations list heading', 'required': False}), 48: ('wagtail.blocks.PageChooserBlock', (), {'help_text': 'Link to more regulations'}), 49: ('wagtail.blocks.CharBlock', (), {'help_text': 'Text to show on link to more regulations', 'required': False}), 50: ('wagtail.blocks.StructBlock', [[('heading', 47), ('more_regs_page', 48), ('more_regs_text', 49)]], {}), 51: ('wagtail.blocks.StreamBlock', [[('content', 10), ('content_with_anchor', 14), ('content_with_footnotes', 15), ('heading', 18), ('image', 26), ('table', 34), ('quote', 37), ('cta', 39), ('related_links', 41), ('reusable_text', 42), ('reusable_notification', 43), ('email_signup', 44), ('well', 46), ('regulations_list', 50)]], {})}), + ), + migrations.AlterField( + model_name='regulationpage', + name='content', + field=wagtail.fields.StreamField([('info_unit_group', 22), ('full_width_text', 53)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 4: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'required': False}), 5: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 9: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'default': {'level': 'h3'}, 'required': False}), 14: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 15: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 17: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 15), ('url', 16), ('is_link_boldface', 17)]], {}), 19: ('wagtail.blocks.ListBlock', (18,), {'required': False}), 20: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 13), ('body', 14), ('links', 19)]], {}), 21: ('wagtail.blocks.ListBlock', (20,), {'default': []}), 22: ('wagtail.blocks.StructBlock', [[('format', 0), ('heading', 4), ('intro', 5), ('link_image_and_heading', 6), ('has_top_rule_line', 7), ('lines_between_items', 8), ('border_radius_image', 9), ('info_units', 21)]], {}), 23: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 24: ('wagtail.blocks.RichTextBlock', (), {}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('link_id', 25)]], {}), 27: ('wagtail.blocks.StructBlock', [[('content_block', 24), ('anchor_link', 26)]], {}), 28: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 30: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 31: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 32: ('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}), 33: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 29), ('image_position', 30), ('text', 31), ('is_bottom_rule', 32)]], {}), 34: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {}), 36: ('wagtail.blocks.FloatBlock', (), {}), 37: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 38: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 39: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 35), ('numeric', 36), ('rich_text', 37), ('rich_text_with_footnotes', 38)]], {}), 40: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 41: ('wagtail.blocks.StructBlock', [[('heading', 4), ('text_introduction', 1), ('options', 34), ('data', 39), ('caption', 40)]], {}), 42: ('wagtail.blocks.TextBlock', (), {}), 43: ('wagtail.blocks.TextBlock', (), {'required': False}), 44: ('wagtail.blocks.StructBlock', [[('body', 42), ('citation', 43)]], {}), 45: ('wagtail.blocks.StructBlock', [[('slug_text', 1), ('paragraph_text', 5), ('button', 18)]], {}), 46: ('wagtail.blocks.ListBlock', (18,), {}), 47: ('wagtail.blocks.StructBlock', [[('heading', 1), ('paragraph', 5), ('links', 46)]], {}), 48: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 49: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 50: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 51: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 52: ('wagtail.blocks.StructBlock', [[('content', 51)]], {}), 53: ('wagtail.blocks.StreamBlock', [[('content', 23), ('content_with_anchor', 27), ('content_with_footnotes', 28), ('heading', 4), ('image', 33), ('table', 41), ('quote', 44), ('cta', 45), ('related_links', 47), ('reusable_text', 48), ('reusable_notification', 49), ('email_signup', 50), ('well', 52)]], {})}, null=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 deleted file mode 100644 index 8d2ab4fd1ee..00000000000 --- a/cfgov/regulations3k/migrations/0001_squashed_0038_new_table_block.py +++ /dev/null @@ -1,144 +0,0 @@ -# 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[])), ('sharing', wagtail.blocks.StructBlock([('shareable', wagtail.blocks.BooleanBlock(help_text='If checked, share links will be included below the items.', label='Include 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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/0002_deprecate_iug_sharing.py b/cfgov/regulations3k/migrations/0002_deprecate_iug_sharing.py deleted file mode 100644 index 9d6cc29cfd8..00000000000 --- a/cfgov/regulations3k/migrations/0002_deprecate_iug_sharing.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-05 21:21 - -from django.db import migrations -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', '0001_squashed_0038_new_table_block'), - ] - - operations = [ - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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/regulations3k/migrations/0003_deprecate_super_button.py b/cfgov/regulations3k/migrations/0003_deprecate_super_button.py deleted file mode 100644 index 5c513c31be2..00000000000 --- a/cfgov/regulations3k/migrations/0003_deprecate_super_button.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 3.2.20 on 2023-09-22 17:15 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('regulations3k', '0002_deprecate_iug_sharing'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))]))])), ('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/0004_remove_large_pull_quote.py b/cfgov/regulations3k/migrations/0004_remove_large_pull_quote.py deleted file mode 100644 index 91e4cd939ae..00000000000 --- a/cfgov/regulations3k/migrations/0004_remove_large_pull_quote.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 3.2.20 on 2023-10-25 17:59 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('regulations3k', '0003_deprecate_super_button'), - ] - - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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))])), ('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))]))])), ('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/0005_update_ds_links.py b/cfgov/regulations3k/migrations/0005_update_ds_links.py deleted file mode 100644 index b70eed72e28..00000000000 --- a/cfgov/regulations3k/migrations/0005_update_ds_links.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.2.23 on 2023-12-28 20:56 - -from django.db import migrations -import wagtail.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('regulations3k', '0004_remove_large_pull_quote'), - ] - - operations = [ - migrations.AlterField( - model_name='regulationlandingpage', - name='header', - field=wagtail.fields.StreamField([('hero', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(help_text='For 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. ', 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. ', 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), - ), - ] diff --git a/cfgov/regulations3k/migrations/0006_regulations_notification.py b/cfgov/regulations3k/migrations/0006_regulations_notification.py deleted file mode 100644 index cdf20199b26..00000000000 --- a/cfgov/regulations3k/migrations/0006_regulations_notification.py +++ /dev/null @@ -1,155 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 14:28 - -from django.db import migrations - -import wagtail.blocks -import wagtail.fields - - -class Migration(migrations.Migration): - dependencies = [ - ("regulations3k", "0005_update_ds_links"), - ] - - operations = [ - 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, - ), - ), - ] - ), - ), - ( - "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/regulations3k/migrations/0007_add_table_intro.py b/cfgov/regulations3k/migrations/0007_add_table_intro.py deleted file mode 100644 index 058ec235396..00000000000 --- a/cfgov/regulations3k/migrations/0007_add_table_intro.py +++ /dev/null @@ -1,1077 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-30 17:43 - -from django.db import migrations - -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - -import v1.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("regulations3k", "0006_regulations_notification"), - ] - - 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "intro", - wagtail.blocks.RichTextBlock( - required=False - ), - ), - ( - "link_image_and_heading", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", - required=False, - ), - ), - ( - "has_top_rule_line", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to add a horizontal rule line to top of info unit group.", - required=False, - ), - ), - ( - "lines_between_items", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Check this to show horizontal rule lines between info units.", - label="Show rule lines between items", - required=False, - ), - ), - ( - "border_radius_image", - wagtail.blocks.ChoiceBlock( - choices=[ - ("none", "None"), - ("rounded", "Rounded corners"), - ("circle", "Circle"), - ], - help_text="Adds a border-radius class to images in this group, allowing for a rounded or circular border.", - label="Border radius for images?", - required=False, - ), - ), - ( - "info_units", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.blocks.StructBlock( - [ - ( - "upload", - wagtail.images.blocks.ImageChooserBlock( - required=False - ), - ), - ( - "alt", - wagtail.blocks.CharBlock( - help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", - required=False, - ), - ), - ] - ), - ), - ( - "heading", - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - default={ - "level": "h3" - }, - required=False, - ), - ), - ( - "body", - wagtail.blocks.RichTextBlock( - blank=True, - required=False, - ), - ), - ( - "links", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "text", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "aria_label", - wagtail.blocks.CharBlock( - help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', - required=False, - ), - ), - ( - "url", - wagtail.blocks.CharBlock( - default="/", - required=False, - ), - ), - ] - ), - required=False, - ), - ), - ] - ), - default=[], - ), - ), - ] - ), - ), - ( - "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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an 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", - wagtail.blocks.CharBlock( - required=False - ), - ), - ( - "level", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "h2", - "H2", - ), - ( - "h3", - "H3", - ), - ( - "h4", - "H4", - ), - ( - "h5", - "H5", - ), - ] - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', - required=False, - ), - ), - ], - required=False, - ), - ), - ( - "text_introduction", - wagtail.blocks.CharBlock( - 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 - ), - ), - ] - ), - ), - ( - "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, - ), - ), - ] - ), - ), - ] - ), - ), - ( - "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/0008_raw_html_affordances.py b/cfgov/regulations3k/migrations/0008_raw_html_affordances.py deleted file mode 100644 index 09bfb611eb0..00000000000 --- a/cfgov/regulations3k/migrations/0008_raw_html_affordances.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-05 19:48 - -from django.db import migrations -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', '0007_add_table_intro'), - ] - - 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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 guidelines on creating heroes, visit our Design System. Character counts (including spaces) at largest breakpoint:', required=False)), ('heading_continued', wagtail.blocks.CharBlock(help_text='Use if the heading needs to break to a second lineat a specific point in the text.', 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. ', 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. ', 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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/regulations3k/migrations/0009_rtf_to_urtf.py b/cfgov/regulations3k/migrations/0009_rtf_to_urtf.py deleted file mode 100644 index 29fcb3a3e09..00000000000 --- a/cfgov/regulations3k/migrations/0009_rtf_to_urtf.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-12 18:00 - -from django.db import migrations -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', '0008_raw_html_affordances'), - ] - - operations = [ - migrations.RunPython(code=migrations.RunPython.noop, reverse_code=migrations.RunPython.noop) - ] diff --git a/cfgov/regulations3k/migrations/0010_add_reusable_notification.py b/cfgov/regulations3k/migrations/0010_add_reusable_notification.py deleted file mode 100644 index 9d3592519aa..00000000000 --- a/cfgov/regulations3k/migrations/0010_add_reusable_notification.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 3.2.24 on 2024-03-25 14:57 - -from django.db import migrations -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', '0009_rtf_to_urtf'), - ] - - 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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/0011_add_footnotes.py b/cfgov/regulations3k/migrations/0011_add_footnotes.py deleted file mode 100644 index 15db8dc10c8..00000000000 --- a/cfgov/regulations3k/migrations/0011_add_footnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 4.2.11 on 2024-07-02 17:02 - -from django.db import migrations -import v1.blocks -import wagtail_footnotes.blocks -import wagtail.blocks -import wagtail.contrib.typed_table_block.blocks -import wagtail.fields -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('regulations3k', '0010_add_reusable_notification'), - ] - - 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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, 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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('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), - ), - 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('intro', wagtail.blocks.RichTextBlock(required=False)), ('link_image_and_heading', wagtail.blocks.BooleanBlock(default=True, help_text="Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", required=False)), ('has_top_rule_line', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to add a horizontal rule line to top of info unit group.', required=False)), ('lines_between_items', wagtail.blocks.BooleanBlock(default=False, help_text='Check this to show horizontal rule lines between info units.', label='Show rule lines between items', required=False)), ('border_radius_image', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], help_text='Adds a border-radius class to images in this group, allowing for a rounded or circular border.', label='Border radius for images?', required=False)), ('info_units', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('upload', wagtail.images.blocks.ImageChooserBlock(required=False)), ('alt', wagtail.blocks.CharBlock(help_text="No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", required=False))])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], default={'level': 'h3'}, required=False)), ('body', wagtail.blocks.RichTextBlock(blank=True, required=False)), ('links', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('aria_label', wagtail.blocks.CharBlock(help_text='Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', required=False)), ('url', wagtail.blocks.CharBlock(default='/', required=False)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]), required=False))]), default=[]))])), ('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))]))])), ('content_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes'])), ('heading', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an 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', wagtail.blocks.CharBlock(required=False)), ('level', wagtail.blocks.ChoiceBlock(choices=[('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')])), ('icon', wagtail.blocks.CharBlock(help_text='Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', required=False))], required=False)), ('text_introduction', wagtail.blocks.CharBlock(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'])), ('rich_text_with_footnotes', wagtail_footnotes.blocks.RichTextBlockWithFootnotes(features=['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']))]))])), ('quote', wagtail.blocks.StructBlock([('body', wagtail.blocks.TextBlock()), ('citation', wagtail.blocks.TextBlock(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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))]))])), ('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)), ('is_link_boldface', wagtail.blocks.BooleanBlock(default=False, required=False))])))])), ('reusable_text', v1.blocks.ReusableTextChooserBlock('v1.ReusableText')), ('reusable_notification', v1.blocks.ReusableNotificationChooserBlock('v1.ReusableNotification')), ('email_signup', v1.blocks.EmailSignUpChooserBlock()), ('well', wagtail.blocks.StructBlock([('content', wagtail.blocks.RichTextBlock(label='Well', required=False))]))]))], blank=True, null=True), - ), - ] diff --git a/cfgov/regulations3k/migrations/0012_add_table_caption.py b/cfgov/regulations3k/migrations/0012_add_table_caption.py deleted file mode 100644 index 7db387a04f0..00000000000 --- a/cfgov/regulations3k/migrations/0012_add_table_caption.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.16 on 2024-09-23 13:54 - -from django.db import migrations -import wagtail.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('regulations3k', '0011_add_footnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='regulationlandingpage', - name='content', - field=wagtail.fields.StreamField([('notification', 9), ('full_width_text', 51)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('information', 'Information'), ('warning', 'Warning')]}), 1: ('wagtail.blocks.CharBlock', (), {'help_text': 'The main notification message to display.', 'required': True}), 2: ('wagtail.blocks.TextBlock', (), {'help_text': 'Explanation text appears below the message in smaller type.', 'required': False}), 3: ('wagtail.blocks.CharBlock', (), {'required': False}), 4: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('text', 3), ('aria_label', 4), ('url', 5), ('is_link_boldface', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'Links appear on their own lines below the explanation.', 'required': False}), 9: ('wagtail.blocks.StructBlock', [[('type', 0), ('message', 1), ('explanation', 2), ('links', 8)]], {}), 10: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 11: ('wagtail.blocks.RichTextBlock', (), {}), 12: ('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}), 13: ('wagtail.blocks.StructBlock', [[('link_id', 12)]], {}), 14: ('wagtail.blocks.StructBlock', [[('content_block', 11), ('anchor_link', 13)]], {}), 15: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 16: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 17: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 3), ('level', 16), ('icon', 17)]], {'required': False}), 19: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 20: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 21: ('wagtail.blocks.StructBlock', [[('upload', 19), ('alt', 20)]], {}), 22: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 23: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 24: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('image', 21), ('image_width', 22), ('image_position', 23), ('text', 24), ('is_bottom_rule', 25)]], {}), 27: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 28: ('wagtail.blocks.CharBlock', (), {}), 29: ('wagtail.blocks.FloatBlock', (), {}), 30: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 31: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 32: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 28), ('numeric', 29), ('rich_text', 30), ('rich_text_with_footnotes', 31)]], {}), 33: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 34: ('wagtail.blocks.StructBlock', [[('heading', 18), ('text_introduction', 3), ('options', 27), ('data', 32), ('caption', 33)]], {}), 35: ('wagtail.blocks.TextBlock', (), {}), 36: ('wagtail.blocks.TextBlock', (), {'required': False}), 37: ('wagtail.blocks.StructBlock', [[('body', 35), ('citation', 36)]], {}), 38: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 39: ('wagtail.blocks.StructBlock', [[('slug_text', 3), ('paragraph_text', 38), ('button', 7)]], {}), 40: ('wagtail.blocks.ListBlock', (7,), {}), 41: ('wagtail.blocks.StructBlock', [[('heading', 3), ('paragraph', 38), ('links', 40)]], {}), 42: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 43: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 44: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 45: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('content', 45)]], {}), 47: ('wagtail.blocks.CharBlock', (), {'help_text': 'Regulations list heading', 'required': False}), 48: ('wagtail.blocks.PageChooserBlock', (), {'help_text': 'Link to more regulations'}), 49: ('wagtail.blocks.CharBlock', (), {'help_text': 'Text to show on link to more regulations', 'required': False}), 50: ('wagtail.blocks.StructBlock', [[('heading', 47), ('more_regs_page', 48), ('more_regs_text', 49)]], {}), 51: ('wagtail.blocks.StreamBlock', [[('content', 10), ('content_with_anchor', 14), ('content_with_footnotes', 15), ('heading', 18), ('image', 26), ('table', 34), ('quote', 37), ('cta', 39), ('related_links', 41), ('reusable_text', 42), ('reusable_notification', 43), ('email_signup', 44), ('well', 46), ('regulations_list', 50)]], {})}), - ), - migrations.AlterField( - model_name='regulationpage', - name='content', - field=wagtail.fields.StreamField([('info_unit_group', 22), ('full_width_text', 53)], blank=True, block_lookup={0: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('50-50', '50/50'), ('33-33-33', '33/33/33'), ('25-75', '25/75')], 'help_text': 'Choose the number and width of info unit columns.', 'label': 'Format'}), 1: ('wagtail.blocks.CharBlock', (), {'required': False}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5')]}), 3: ('wagtail.blocks.CharBlock', (), {'help_text': 'Input the name of an icon to appear to the left of the heading. E.g., approved, help-round, etc. See full list of icons', 'required': False}), 4: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'required': False}), 5: ('wagtail.blocks.RichTextBlock', (), {'required': False}), 6: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': "Check this to link all images and headings to the URL of the first link in their unit's list, if there is a link.", 'required': False}), 7: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to add a horizontal rule line to top of info unit group.', 'required': False}), 8: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Check this to show horizontal rule lines between info units.', 'label': 'Show rule lines between items', 'required': False}), 9: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('none', 'None'), ('rounded', 'Rounded corners'), ('circle', 'Circle')], 'help_text': 'Adds a border-radius class to images in this group, allowing for a rounded or circular border.', 'label': 'Border radius for images?', 'required': False}), 10: ('wagtail.images.blocks.ImageChooserBlock', (), {'required': False}), 11: ('wagtail.blocks.CharBlock', (), {'help_text': "No character limit, but be as succinct as possible. If the image is decorative (i.e., a screenreader wouldn't have anything useful to say about it), leave this field blank.", 'required': False}), 12: ('wagtail.blocks.StructBlock', [[('upload', 10), ('alt', 11)]], {}), 13: ('wagtail.blocks.StructBlock', [[('text', 1), ('level', 2), ('icon', 3)]], {'default': {'level': 'h3'}, 'required': False}), 14: ('wagtail.blocks.RichTextBlock', (), {'blank': True, 'required': False}), 15: ('wagtail.blocks.CharBlock', (), {'help_text': 'Add an ARIA label if the link text does not describe the destination of the link (e.g. has ambiguous text like "Learn more" that is not descriptive on its own).', 'required': False}), 16: ('wagtail.blocks.CharBlock', (), {'default': '/', 'required': False}), 17: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'required': False}), 18: ('wagtail.blocks.StructBlock', [[('text', 1), ('aria_label', 15), ('url', 16), ('is_link_boldface', 17)]], {}), 19: ('wagtail.blocks.ListBlock', (18,), {'required': False}), 20: ('wagtail.blocks.StructBlock', [[('image', 12), ('heading', 13), ('body', 14), ('links', 19)]], {}), 21: ('wagtail.blocks.ListBlock', (20,), {'default': []}), 22: ('wagtail.blocks.StructBlock', [[('format', 0), ('heading', 4), ('intro', 5), ('link_image_and_heading', 6), ('has_top_rule_line', 7), ('lines_between_items', 8), ('border_radius_image', 9), ('info_units', 21)]], {}), 23: ('wagtail.blocks.RichTextBlock', (), {'icon': 'edit'}), 24: ('wagtail.blocks.RichTextBlock', (), {}), 25: ('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}), 26: ('wagtail.blocks.StructBlock', [[('link_id', 25)]], {}), 27: ('wagtail.blocks.StructBlock', [[('content_block', 24), ('anchor_link', 26)]], {}), 28: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['anchor-identifier', 'h2', 'h3', 'h4', 'h5', 'hr', 'ol', 'ul', 'bold', 'italic', 'superscript', 'blockquote', 'link', 'document-link', 'image', 'icon', 'footnotes']}), 29: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('full', 'Full width'), (470, '470px'), (270, '270px'), (170, '170px')]}), 30: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('right', 'right'), ('left', 'left')], 'help_text': 'Does not apply if the image is full-width'}), 31: ('wagtail.blocks.RichTextBlock', (), {'label': 'Caption', 'required': False}), 32: ('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}), 33: ('wagtail.blocks.StructBlock', [[('image', 12), ('image_width', 29), ('image_position', 30), ('text', 31), ('is_bottom_rule', 32)]], {}), 34: ('wagtail.blocks.MultipleChoiceBlock', [], {'choices': [('is_full_width', 'Display the table at full width'), ('stack_on_mobile', 'Stack the table columns on mobile')], 'required': False}), 35: ('wagtail.blocks.CharBlock', (), {}), 36: ('wagtail.blocks.FloatBlock', (), {}), 37: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript']}), 38: ('wagtail_footnotes.blocks.RichTextBlockWithFootnotes', (), {'features': ['bold', 'italic', 'ol', 'ul', 'link', 'document-link', 'superscript', 'footnotes']}), 39: ('wagtail.contrib.typed_table_block.blocks.TypedTableBlock', [[('text', 35), ('numeric', 36), ('rich_text', 37), ('rich_text_with_footnotes', 38)]], {}), 40: ('wagtail.blocks.RichTextBlock', (), {'features': ['bold', 'italic', 'link', 'document-link'], 'required': False}), 41: ('wagtail.blocks.StructBlock', [[('heading', 4), ('text_introduction', 1), ('options', 34), ('data', 39), ('caption', 40)]], {}), 42: ('wagtail.blocks.TextBlock', (), {}), 43: ('wagtail.blocks.TextBlock', (), {'required': False}), 44: ('wagtail.blocks.StructBlock', [[('body', 42), ('citation', 43)]], {}), 45: ('wagtail.blocks.StructBlock', [[('slug_text', 1), ('paragraph_text', 5), ('button', 18)]], {}), 46: ('wagtail.blocks.ListBlock', (18,), {}), 47: ('wagtail.blocks.StructBlock', [[('heading', 1), ('paragraph', 5), ('links', 46)]], {}), 48: ('v1.blocks.ReusableTextChooserBlock', ('v1.ReusableText',), {}), 49: ('v1.blocks.ReusableNotificationChooserBlock', ('v1.ReusableNotification',), {}), 50: ('v1.blocks.EmailSignUpChooserBlock', (), {}), 51: ('wagtail.blocks.RichTextBlock', (), {'label': 'Well', 'required': False}), 52: ('wagtail.blocks.StructBlock', [[('content', 51)]], {}), 53: ('wagtail.blocks.StreamBlock', [[('content', 23), ('content_with_anchor', 27), ('content_with_footnotes', 28), ('heading', 4), ('image', 33), ('table', 41), ('quote', 44), ('cta', 45), ('related_links', 47), ('reusable_text', 48), ('reusable_notification', 49), ('email_signup', 50), ('well', 52)]], {})}, null=True), - ), - ] diff --git a/cfgov/regulations3k/parser/regtable.py b/cfgov/regulations3k/parser/regtable.py index 8468f9c506a..a65e390568b 100644 --- a/cfgov/regulations3k/parser/regtable.py +++ b/cfgov/regulations3k/parser/regtable.py @@ -30,7 +30,7 @@ def table(self): def assemble_header_rows(self): if not self.header_rows: return "" - header_shell = "\n" "{h_rows}\n" "\n" + header_shell = "\n{h_rows}\n\n" return header_shell.format(h_rows="\n".join(self.header_rows)) def parse_xml_table(self, table_soup): diff --git a/cfgov/regulations3k/tests/test_scripts.py b/cfgov/regulations3k/tests/test_scripts.py index 73180e69473..c1b97549478 100644 --- a/cfgov/regulations3k/tests/test_scripts.py +++ b/cfgov/regulations3k/tests/test_scripts.py @@ -75,7 +75,7 @@ def test_run_no_args(self, mock_inserter): @mock.patch("regulations3k.scripts.insert_section_links.insert_links") def test_run_with_args(self, mock_inserter): run("1002") - self.assertTrue(mock_inserter.called_with, "1002") + mock_inserter.assert_called_with(reg="1002") def test_insert_links_skips_processed_file(self): regdown_with_link = ( diff --git a/cfgov/scripts/http_smoke_test.py b/cfgov/scripts/http_smoke_test.py index 58ac8a1f574..44d3f90fdf3 100755 --- a/cfgov/scripts/http_smoke_test.py +++ b/cfgov/scripts/http_smoke_test.py @@ -220,11 +220,11 @@ def check_urls(base, url_list=None): logger.error(f"These URLs failed: {failures}") if len(timeouts) > ALLOWED_TIMEOUTS: logger.error( - f"These URLs timed out after {TIMEOUT} seconds: " f"{timeouts}" + f"These URLs timed out after {TIMEOUT} seconds: {timeouts}" ) elif timeouts: logger.info( - "{} allowed timeouts occurred:\n" "{}".format( + "{} allowed timeouts occurred:\n{}".format( len(timeouts), "\n".join(timeouts) ) ) diff --git a/cfgov/scripts/static_asset_smoke_test.py b/cfgov/scripts/static_asset_smoke_test.py index 878e2853ba4..affae0f06fc 100755 --- a/cfgov/scripts/static_asset_smoke_test.py +++ b/cfgov/scripts/static_asset_smoke_test.py @@ -102,7 +102,7 @@ def check_static(url): f"of {count} failed for {url}: {failures}\x1b[0m\n" ) else: - return f"\x1b[32m{count} static links passed " f"for {url}\x1b[0m\n" + return f"\x1b[32m{count} static links passed for {url}\x1b[0m\n" if __name__ == "__main__": # pragma: nocover @@ -133,7 +133,7 @@ def check_static(url): ) if fail: logger.warning( - "\x1b[91mFAIL. Too many static links " "didn't return 200.\x1b[0m" + "\x1b[91mFAIL. Too many static links didn't return 200.\x1b[0m" ) else: logger.info("\x1b[32mSUCCESS! Static links return 200.\x1b[0m") diff --git a/cfgov/tccp/jinja2/tccp/includes/tooltip.html b/cfgov/tccp/jinja2/tccp/includes/tooltip.html index 08984332887..581c961fb1e 100644 --- a/cfgov/tccp/jinja2/tccp/includes/tooltip.html +++ b/cfgov/tccp/jinja2/tccp/includes/tooltip.html @@ -1,9 +1,12 @@ -{% macro tooltip(name, heading=none, body=none, icon="help-round", tabindex="0") -%} +{% set c = namespace(value=0)%} - +{% macro tooltip(name, heading=none, body=none, icon="help-round", tabindex="0") -%} +{% set id = "tooltip" + c.value | string %} +{% set c.value = c.value + 1 %} + {{ svg_icon(icon) }} -