diff --git a/config/install/webform.webform.contact.yml b/config/install/webform.webform.contact.yml
index a4e4c7d7..4e94e18d 100644
--- a/config/install/webform.webform.contact.yml
+++ b/config/install/webform.webform.contact.yml
@@ -71,6 +71,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/config/schema/webform.schema.yml b/config/schema/webform.schema.yml
index adca45ab..8e763855 100644
--- a/config/schema/webform.schema.yml
+++ b/config/schema/webform.schema.yml
@@ -464,7 +464,10 @@ webform.webform.*:
           label: 'Preview message'
         draft:
           type: string
-          label: 'Allow your users to save and finish the webform later.'
+          label: 'Allow users to save and finish the webform later.'
+        draft_multiple:
+          type: boolean
+          label: 'Allow users to save multiple drafts.'
         draft_auto_save:
           type: boolean
           label: 'Automatically save as draft when previewing and when there are validation errors.'
diff --git a/includes/webform.update.inc b/includes/webform.update.inc
index 30388b3a..19e0df33 100644
--- a/includes/webform.update.inc
+++ b/includes/webform.update.inc
@@ -611,7 +611,7 @@ function webform_update_8030() {
   foreach ($config_factory->listAll('webform.webform.') as $webform_config_name) {
     $webform_config = $config_factory->getEditable($webform_config_name);
     $data = $webform_config->getRawData();
-    $data['settings']['draft'] = ($data['settings']['draft'] == TRUE) ? WebformInterface::DRAFT_ENABLED_AUTHENTICATED : WebformInterface::DRAFT_ENABLED_NONE;
+    $data['settings']['draft'] = ($data['settings']['draft'] == TRUE) ? WebformInterface::DRAFT_AUTHENTICATED : WebformInterface::DRAFT_NONE;
     $webform_config->setData($data)->save();
   }
 }
diff --git a/js/webform.element.html_editor.js b/js/webform.element.html_editor.js
index 5b967f45..059a6aec 100644
--- a/js/webform.element.html_editor.js
+++ b/js/webform.element.html_editor.js
@@ -34,7 +34,7 @@
         var plugins = drupalSettings['webform']['html_editor']['plugins'];
         for (var plugin_name in plugins) {
           if(plugins.hasOwnProperty(plugin_name)) {
-            CKEDITOR.plugins.addExternal(plugin_name , plugins[plugin_name]);
+            CKEDITOR.plugins.addExternal(plugin_name, plugins[plugin_name]);
           }
         }
 
@@ -92,7 +92,7 @@
         options = $.extend(options, Drupal.webform.htmlEditor.options);
 
         CKEDITOR.replace(this.id, options).on('change', function (evt) {
-          // Save data onchange since Ajax dialogs don't execute webform.onsubmit.
+          // Save data onchange since Ajax dialogs don't execute form.onsubmit.
           $textarea.val(evt.editor.getData().trim());
         });
       });
diff --git a/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application.yml b/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application.yml
index fa2cd2f1..b3e469f5 100644
--- a/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application.yml
+++ b/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application.yml
@@ -60,6 +60,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application_evaluation.yml b/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application_evaluation.yml
index f7efcb95..1718089c 100644
--- a/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application_evaluation.yml
+++ b/modules/webform_demo/webform_demo_application_evaluation/config/install/webform.webform.demo_application_evaluation.yml
@@ -59,6 +59,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: '1'
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_devel/src/Form/WebformDevelSubmissionApiForm.php b/modules/webform_devel/src/Form/WebformDevelSubmissionApiForm.php
index ebc3db4f..20440a81 100644
--- a/modules/webform_devel/src/Form/WebformDevelSubmissionApiForm.php
+++ b/modules/webform_devel/src/Form/WebformDevelSubmissionApiForm.php
@@ -40,7 +40,7 @@ class WebformDevelSubmissionApiForm extends FormBase {
   protected $generate;
 
   /**
-   * Constructs a WebformTestController object.
+   * Constructs a WebformDevelSubmissionApiForm object.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
diff --git a/modules/webform_examples/config/install/webform.webform.example_elements.yml b/modules/webform_examples/config/install/webform.webform.example_elements.yml
index 47464444..99c3e3e6 100644
--- a/modules/webform_examples/config/install/webform.webform.example_elements.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_elements.yml
@@ -555,6 +555,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_elements_composite.yml b/modules/webform_examples/config/install/webform.webform.example_elements_composite.yml
index 0862a34b..8748cad7 100644
--- a/modules/webform_examples/config/install/webform.webform.example_elements_composite.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_elements_composite.yml
@@ -170,6 +170,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_elements_computed.yml b/modules/webform_examples/config/install/webform.webform.example_elements_computed.yml
index 7eadb9b7..7f2733df 100644
--- a/modules/webform_examples/config/install/webform.webform.example_elements_computed.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_elements_computed.yml
@@ -78,6 +78,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_elements_masks.yml b/modules/webform_examples/config/install/webform.webform.example_elements_masks.yml
index ee302104..4c300b86 100644
--- a/modules/webform_examples/config/install/webform.webform.example_elements_masks.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_elements_masks.yml
@@ -109,6 +109,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_elements_states.yml b/modules/webform_examples/config/install/webform.webform.example_elements_states.yml
index 2b5024b4..3679f084 100644
--- a/modules/webform_examples/config/install/webform.webform.example_elements_states.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_elements_states.yml
@@ -209,6 +209,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_layout_basic.yml b/modules/webform_examples/config/install/webform.webform.example_layout_basic.yml
index 73517ebe..f9904ca1 100644
--- a/modules/webform_examples/config/install/webform.webform.example_layout_basic.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_layout_basic.yml
@@ -245,6 +245,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_layout_flexbox.yml b/modules/webform_examples/config/install/webform.webform.example_layout_flexbox.yml
index 4996ba8d..c11a05ea 100644
--- a/modules/webform_examples/config/install/webform.webform.example_layout_flexbox.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_layout_flexbox.yml
@@ -149,6 +149,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_examples/config/install/webform.webform.example_wizard.yml b/modules/webform_examples/config/install/webform.webform.example_wizard.yml
index b3f099d7..5d701640 100644
--- a/modules/webform_examples/config/install/webform.webform.example_wizard.yml
+++ b/modules/webform_examples/config/install/webform.webform.example_wizard.yml
@@ -87,6 +87,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: true
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_node/src/Tests/WebformNodeResultsTest.php b/modules/webform_node/src/Tests/WebformNodeResultsTest.php
index 8c4badc9..89dee06e 100644
--- a/modules/webform_node/src/Tests/WebformNodeResultsTest.php
+++ b/modules/webform_node/src/Tests/WebformNodeResultsTest.php
@@ -110,7 +110,7 @@ class WebformNodeResultsTest extends WebformNodeTestBase {
     $this->assertRaw('<a href="' . $node_submission_url->toString() . '" rel="next" title="Go to next page">Next submission <b>›</b></a>');
 
     // Check webform node saved draft.
-    $webform->setSetting('draft', WebformInterface::DRAFT_ENABLED_AUTHENTICATED);
+    $webform->setSetting('draft', WebformInterface::DRAFT_AUTHENTICATED);
     $webform->save();
 
     // Check webform saved draft.
diff --git a/modules/webform_node/src/WebformNodeUninstallValidator.php b/modules/webform_node/src/WebformNodeUninstallValidator.php
index 2399c87d..8cfd2c4c 100644
--- a/modules/webform_node/src/WebformNodeUninstallValidator.php
+++ b/modules/webform_node/src/WebformNodeUninstallValidator.php
@@ -22,7 +22,7 @@ class WebformNodeUninstallValidator implements ModuleUninstallValidatorInterface
   protected $entityTypeManager;
 
   /**
-   * Constructs a new WebformNodeUninstallValidator.
+   * Constructs a WebformNodeUninstallValidator.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
diff --git a/modules/webform_node/webform_node.routing.yml b/modules/webform_node/webform_node.routing.yml
index 8268b6f9..7fa5be74 100644
--- a/modules/webform_node/webform_node.routing.yml
+++ b/modules/webform_node/webform_node.routing.yml
@@ -26,6 +26,21 @@ entity.node.webform.user.submissions:
   requirements:
     _custom_access: '\Drupal\webform_node\Access\WebformNodeAccess::checkWebformAccess'
 
+entity.node.webform.user.drafts:
+  path: '/node/{node}/webform/drafts'
+  defaults:
+    _entity_list: 'webform_submission'
+    _title: 'Drafts'
+    operation: view
+    entity_access: 'webform.submission_create'
+  options:
+    parameters:
+      node:
+        type: 'entity:node'
+  requirements:
+    _custom_access: '\Drupal\webform_node\Access\WebformNodeAccess::checkWebformAccess'
+
+
 entity.node.webform.user.submission:
   path: '/node/{node}/webform/submissions/{webform_submission}'
   defaults:
diff --git a/modules/webform_scheduled_email/test/modules/webform_scheduled_email_test/config/install/webform.webform.test_handler_scheduled_email.yml b/modules/webform_scheduled_email/test/modules/webform_scheduled_email_test/config/install/webform.webform.test_handler_scheduled_email.yml
index 1f694e88..40d52077 100644
--- a/modules/webform_scheduled_email/test/modules/webform_scheduled_email_test/config/install/webform.webform.test_handler_scheduled_email.yml
+++ b/modules/webform_scheduled_email/test/modules/webform_scheduled_email_test/config/install/webform.webform.test_handler_scheduled_email.yml
@@ -68,6 +68,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: all
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_contact.yml b/modules/webform_templates/config/install/webform.webform.template_contact.yml
index 5890c80e..e824884d 100644
--- a/modules/webform_templates/config/install/webform.webform.template_contact.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_contact.yml
@@ -67,6 +67,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_donation.yml b/modules/webform_templates/config/install/webform.webform.template_donation.yml
index 1c75c423..9f02e431 100644
--- a/modules/webform_templates/config/install/webform.webform.template_donation.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_donation.yml
@@ -118,6 +118,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_employee_evaluation.yml b/modules/webform_templates/config/install/webform.webform.template_employee_evaluation.yml
index 7800de96..e6884fb7 100644
--- a/modules/webform_templates/config/install/webform.webform.template_employee_evaluation.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_employee_evaluation.yml
@@ -114,6 +114,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_feedback.yml b/modules/webform_templates/config/install/webform.webform.template_feedback.yml
index fedc5047..e5a8cf79 100644
--- a/modules/webform_templates/config/install/webform.webform.template_feedback.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_feedback.yml
@@ -72,6 +72,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_issue.yml b/modules/webform_templates/config/install/webform.webform.template_issue.yml
index f4e36444..17491ddf 100644
--- a/modules/webform_templates/config/install/webform.webform.template_issue.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_issue.yml
@@ -155,6 +155,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_job_application.yml b/modules/webform_templates/config/install/webform.webform.template_job_application.yml
index 9ec72ddb..b8f2592f 100644
--- a/modules/webform_templates/config/install/webform.webform.template_job_application.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_job_application.yml
@@ -115,6 +115,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_job_seeker_profile.yml b/modules/webform_templates/config/install/webform.webform.template_job_seeker_profile.yml
index d3c6daad..f0861e89 100644
--- a/modules/webform_templates/config/install/webform.webform.template_job_seeker_profile.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_job_seeker_profile.yml
@@ -114,6 +114,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_registration.yml b/modules/webform_templates/config/install/webform.webform.template_registration.yml
index abb73fb9..35357195 100644
--- a/modules/webform_templates/config/install/webform.webform.template_registration.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_registration.yml
@@ -84,6 +84,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_session_evaluation.yml b/modules/webform_templates/config/install/webform.webform.template_session_evaluation.yml
index 5dff3646..36e22aab 100644
--- a/modules/webform_templates/config/install/webform.webform.template_session_evaluation.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_session_evaluation.yml
@@ -76,6 +76,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_subscribe.yml b/modules/webform_templates/config/install/webform.webform.template_subscribe.yml
index acd3e514..ca175651 100644
--- a/modules/webform_templates/config/install/webform.webform.template_subscribe.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_subscribe.yml
@@ -63,6 +63,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/modules/webform_templates/config/install/webform.webform.template_user_profile.yml b/modules/webform_templates/config/install/webform.webform.template_user_profile.yml
index a384b9a5..a2257145 100644
--- a/modules/webform_templates/config/install/webform.webform.template_user_profile.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_user_profile.yml
@@ -157,6 +157,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/src/Breadcrumb/WebformBreadcrumbBuilder.php b/src/Breadcrumb/WebformBreadcrumbBuilder.php
index bad9417b..ed18e7db 100644
--- a/src/Breadcrumb/WebformBreadcrumbBuilder.php
+++ b/src/Breadcrumb/WebformBreadcrumbBuilder.php
@@ -102,6 +102,9 @@ class WebformBreadcrumbBuilder implements BreadcrumbBuilderInterface {
     elseif (strpos($route_match->getRouteName(), 'webform.user.submissions') !== FALSE) {
       $this->type = 'webform_user_submissions';
     }
+    elseif (strpos($route_match->getRouteName(), 'webform.user.drafts') !== FALSE) {
+      $this->type = 'webform_user_drafts';
+    }
     elseif ($route_match->getParameter('webform_submission') instanceof WebformSubmissionInterface && $route_match->getParameter('webform_submission')->access('admin')) {
       $this->type = 'webform_submission';
     }
@@ -189,6 +192,7 @@ class WebformBreadcrumbBuilder implements BreadcrumbBuilderInterface {
           break;
 
         case 'webform_user_submissions':
+        case 'webform_user_drafts':
           /** @var \Drupal\webform\WebformInterface $webform */
           $webform = $route_match->getParameter('webform');
           $breadcrumb = new Breadcrumb();
diff --git a/src/ContextProvider/WebformRouteContext.php b/src/ContextProvider/WebformRouteContext.php
index 94b9b9ff..f2eab77b 100644
--- a/src/ContextProvider/WebformRouteContext.php
+++ b/src/ContextProvider/WebformRouteContext.php
@@ -24,7 +24,7 @@ class WebformRouteContext implements ContextProviderInterface {
   protected $routeMatch;
 
   /**
-   * Constructs a new WebformRouteContext.
+   * Constructs a WebformRouteContext.
    *
    * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
    *   The route match object.
diff --git a/src/ContextProvider/WebformSubmissionRouteContext.php b/src/ContextProvider/WebformSubmissionRouteContext.php
index c0c124bb..0e46b8da 100644
--- a/src/ContextProvider/WebformSubmissionRouteContext.php
+++ b/src/ContextProvider/WebformSubmissionRouteContext.php
@@ -24,7 +24,7 @@ class WebformSubmissionRouteContext implements ContextProviderInterface {
   protected $routeMatch;
 
   /**
-   * Constructs a new WebformSubmissionRouteContext.
+   * Constructs a WebformSubmissionRouteContext.
    *
    * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
    *   The route match object.
diff --git a/src/Controller/WebformSubmissionLogController.php b/src/Controller/WebformSubmissionLogController.php
index 354d83f5..d12a965f 100644
--- a/src/Controller/WebformSubmissionLogController.php
+++ b/src/Controller/WebformSubmissionLogController.php
@@ -61,7 +61,7 @@ class WebformSubmissionLogController extends ControllerBase {
   protected $requestHandler;
 
   /**
-   * Constructs a DbLogController object.
+   * Constructs a WebformSubmissionLogController object.
    *
    * @param \Drupal\Core\Database\Connection $database
    *   A database connection.
diff --git a/src/Entity/Webform.php b/src/Entity/Webform.php
index fbe7287c..1bbd8e0c 100644
--- a/src/Entity/Webform.php
+++ b/src/Entity/Webform.php
@@ -719,7 +719,8 @@ class Webform extends ConfigEntityBundleBase implements WebformInterface {
       'preview_label' => '',
       'preview_title' => '',
       'preview_message' => '',
-      'draft' => self::DRAFT_ENABLED_NONE,
+      'draft' => self::DRAFT_NONE,
+      'draft_multiple' => FALSE,
       'draft_auto_save' => FALSE,
       'draft_saved_message' => '',
       'draft_loaded_message' => '',
@@ -1567,26 +1568,28 @@ class Webform extends ConfigEntityBundleBase implements WebformInterface {
       return;
     }
 
+    $submit_base_path = $this->settings['page_submit_path'] ?: trim(\Drupal::config('webform.settings')->get('settings.default_page_base_path'), '/') . '/' . str_replace('_', '-', $this->id());
+    $submit_base_path = '/' . trim($submit_base_path, '/');
+
     // Update submit path.
-    $submit_path = $this->settings['page_submit_path'] ?: trim(\Drupal::config('webform.settings')->get('settings.default_page_base_path'), '/') . '/' . str_replace('_', '-', $this->id());
-    $submit_source = '/webform/' . $this->id();
-    $submit_alias = '/' . trim($submit_path, '/');
-    $this->updatePath($submit_source, $submit_alias, $this->langcode);
-    $this->updatePath($submit_source, $submit_alias, LanguageInterface::LANGCODE_NOT_SPECIFIED);
+    $submit_suffixes = [
+      '',
+      '/submissions',
+      '/drafts',
+    ];
+    foreach ($submit_suffixes as $submit_suffix) {
+      $submit_source = '/webform/' . $this->id() . $submit_suffix;
+      $submit_alias = $submit_base_path . $submit_suffix;
+      $this->updatePath($submit_source, $submit_alias, $this->langcode);
+      $this->updatePath($submit_source, $submit_alias, LanguageInterface::LANGCODE_NOT_SPECIFIED);
+    }
 
     // Update confirm path.
-    $confirm_path = $this->settings['page_confirm_path'] ?:  $submit_path . '/confirmation';
     $confirm_source = '/webform/' . $this->id() . '/confirmation';
-    $confirm_alias = '/' . trim($confirm_path, '/');
+    $confirm_alias = $this->settings['page_confirm_path'] ?:  $submit_base_path . '/confirmation';
+    $confirm_alias = '/' . trim($confirm_alias, '/');
     $this->updatePath($confirm_source, $confirm_alias, $this->langcode);
     $this->updatePath($confirm_source, $confirm_alias, LanguageInterface::LANGCODE_NOT_SPECIFIED);
-
-    // Update submissions path.
-    $submissions_path = $submit_path . '/submissions';
-    $submissions_source = '/webform/' . $this->id() . '/submissions';
-    $submissions_alias = '/' . trim($submissions_path, '/');
-    $this->updatePath($submissions_source, $submissions_alias, $this->langcode);
-    $this->updatePath($submissions_source, $submissions_alias, LanguageInterface::LANGCODE_NOT_SPECIFIED);
   }
 
   /**
diff --git a/src/Form/WebformSubmissionDeleteMultiple.php b/src/Form/WebformSubmissionDeleteMultiple.php
index 87023796..a250e0eb 100644
--- a/src/Form/WebformSubmissionDeleteMultiple.php
+++ b/src/Form/WebformSubmissionDeleteMultiple.php
@@ -37,7 +37,7 @@ class WebformSubmissionDeleteMultiple extends ConfirmFormBase {
   protected $manager;
 
   /**
-   * Constructs a DeleteMultiple form object.
+   * Constructs a WebformSubmissionDeleteMultiple object.
    *
    * @param \Drupal\user\PrivateTempStoreFactory $temp_store_factory
    *   The tempstore factory.
diff --git a/src/Plugin/WebformElement/WebformActions.php b/src/Plugin/WebformElement/WebformActions.php
index 8372f045..e6ef12ee 100644
--- a/src/Plugin/WebformElement/WebformActions.php
+++ b/src/Plugin/WebformElement/WebformActions.php
@@ -89,7 +89,7 @@ class WebformActions extends ContainerBase {
       '#type' => 'fieldset',
       '#title' => $this->t('Buttons'),
     ];
-    $draft_enabled = ($webform->getSetting('draft') != WebformInterface::DRAFT_ENABLED_NONE);
+    $draft_enabled = ($webform->getSetting('draft') != WebformInterface::DRAFT_NONE);
     $wizard_enabled = $webform->hasWizardPages();
     $preview_enabled = ($webform->getSetting('preview') != DRUPAL_DISABLED);
 
diff --git a/src/Tests/WebformDraftTest.php b/src/Tests/WebformDraftTest.php
index b5222467..8cc90777 100644
--- a/src/Tests/WebformDraftTest.php
+++ b/src/Tests/WebformDraftTest.php
@@ -17,7 +17,7 @@ class WebformDraftTest extends WebformTestBase {
    *
    * @var array
    */
-  protected static $testWebforms = ['test_form_draft_authenticated', 'test_form_draft_anonymous', 'test_form_preview'];
+  protected static $testWebforms = ['test_form_draft_authenticated', 'test_form_draft_anonymous', 'test_form_draft_multiple', 'test_form_preview'];
 
   /**
    * {@inheritdoc}
@@ -30,9 +30,14 @@ class WebformDraftTest extends WebformTestBase {
   }
 
   /**
-   * Test webform draft with autosave.
+   * Test webform draft.
    */
-  public function testDraftWithAutosave() {
+  public function testWebformDraft() {
+
+    /**************************************************************************/
+    // Autosave for anonymous draft to authenticated draft.
+    /**************************************************************************/
+
     $webform_ids = [
       'test_form_draft_authenticated' => 'Test: Webform: Draft authenticated',
       'test_form_draft_anonymous' => 'Test: Webform: Draft anonymous',
@@ -46,7 +51,7 @@ class WebformDraftTest extends WebformTestBase {
       $webform = Webform::load($webform_id);
 
       // Save a draft.
-      $sid = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save a draft'));
+      $sid = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save Draft'));
       /** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
       $webform_submission = WebformSubmission::load($sid);
 
@@ -74,7 +79,7 @@ class WebformDraftTest extends WebformTestBase {
       $this->drupalPostForm("webform/$webform_id", [
         'name' => '',
         'comment' => 'Hello World!',
-      ], t('Save a draft'));
+      ], t('Save Draft'));
       $this->assertRaw('Your draft has been saved');
       $this->assertNoRaw('You have an existing draft');
       $this->assertFieldByName('name', '');
@@ -112,7 +117,7 @@ class WebformDraftTest extends WebformTestBase {
     $webform = Webform::load('test_form_draft_anonymous');
 
     // Save a draft.
-    $sid = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save a draft'));
+    $sid = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save Draft'));
     $this->assertRaw('Your draft has been saved');
 
     // Check that submission is owned anonymous.
@@ -173,4 +178,68 @@ class WebformDraftTest extends WebformTestBase {
     $this->assertRaw('<b>Name</b><br/>John Smith<br/><br/>');
   }
 
+  /**
+   * Test webform draft multiple.
+   */
+  public function testWebformDraftMultiple() {
+    $this->drupalLogin($this->normalUser);
+
+    $webform = Webform::load('test_form_draft_multiple');
+
+    // Save first draft.
+    $sid_1 = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save Draft'));
+    $this->assertRaw('Submission saved. You may return to this form later and it will restore the current values.');
+    $webform_submission_1 = WebformSubmission::load($sid_1);
+
+    // Check restore first draft.
+    $this->drupalGet('webform/test_form_draft_multiple');
+    $this->assertNoRaw('You have saved drafts.');
+    $this->assertRaw('You have a pending draft for this webform.');
+    $this->assertFieldByName('name', '');
+
+    // Check load pending draft using token.
+    $this->drupalGet('webform/test_form_draft_multiple');
+    $this->clickLink('Load your pending draft');
+    $this->assertFieldByName('name', 'John Smith');
+    $this->drupalGet('webform/test_form_draft_multiple', ['query' => ['token' => $webform_submission_1->getToken()]]);
+    $this->assertFieldByName('name', 'John Smith');
+
+    // Check user drafts.
+    $this->drupalGet('webform/test_form_draft_multiple/drafts');
+    $this->assertRaw('token=' . $webform_submission_1->getToken());
+
+    // Save second draft.
+    $sid_2 = $this->postSubmission($webform, ['name' => 'John Smith'], t('Save Draft'));
+    $webform_submission_2 = WebformSubmission::load($sid_2);
+    $this->assertRaw('Submission saved. You may return to this form later and it will restore the current values.');
+    $this->drupalGet('webform/test_form_draft_multiple');
+    $this->assertNoRaw('You have a pending draft for this webform.');
+    $this->assertRaw('You have pending drafts for this webform. <a href="' . base_path() . 'webform/test_form_draft_multiple/drafts">View your pending drafts</a>.');
+
+    // Check user drafts now has second draft.
+    $this->drupalGet('webform/test_form_draft_multiple/drafts');
+    $this->assertRaw('token=' . $webform_submission_1->getToken());
+    $this->assertRaw('token=' . $webform_submission_2->getToken());
+
+    // Check that anonymous user can't load drafts.
+    $this->drupalLogout();
+    $this->drupalGet('webform/test_form_draft_multiple', ['query' => ['token' => $webform_submission_1->getToken()]]);
+    $this->assertFieldByName('name', '');
+
+    // Save third anonymous draft.
+    $sid_3 = $this->postSubmission($webform, ['name' => 'Jane Doe'], t('Save Draft'));
+    $this->assertRaw('Submission saved. You may return to this form later and it will restore the current values.');
+    $webform_submission_3 = WebformSubmission::load($sid_2);
+
+    // Check restore third anonymous draft.
+    $this->drupalGet('webform/test_form_draft_multiple');
+    $this->assertNoRaw('You have saved drafts.');
+    $this->assertRaw('You have a pending draft for this webform.');
+    $this->assertFieldByName('name', '');
+
+    $this->drupalGet('webform/test_form_draft_multiple');
+    $this->clickLink('Load your pending draft');
+    $this->assertFieldByName('name', 'Jane Doe');
+  }
+
 }
diff --git a/src/Tests/WebformSubmissionStorageTest.php b/src/Tests/WebformSubmissionStorageTest.php
index d3557bd2..5e68aec0 100644
--- a/src/Tests/WebformSubmissionStorageTest.php
+++ b/src/Tests/WebformSubmissionStorageTest.php
@@ -80,7 +80,7 @@ class WebformSubmissionStorageTest extends WebformTestBase {
     $this->drupalLogout();
 
     // Enable the saving of drafts.
-    $webform->setSetting('draft', WebformInterface::DRAFT_ENABLED_AUTHENTICATED)->save();
+    $webform->setSetting('draft', WebformInterface::DRAFT_AUTHENTICATED)->save();
 
     // Create drafts for user1 and user2.
     $this->drupalLogin($user1);
diff --git a/src/WebformElementBase.php b/src/WebformElementBase.php
index a2d24876..2d003c79 100644
--- a/src/WebformElementBase.php
+++ b/src/WebformElementBase.php
@@ -101,7 +101,7 @@ class WebformElementBase extends PluginBase implements WebformElementInterface {
   protected $submissionStorage;
 
   /**
-   * Constructs a WebformElementBast object.
+   * Constructs a WebformElementBase object.
    *
    * @param array $configuration
    *   A configuration array containing information about the plugin instance.
diff --git a/src/WebformEntitySettingsForm.php b/src/WebformEntitySettingsForm.php
index 1886d4d0..cd2adeaf 100644
--- a/src/WebformEntitySettingsForm.php
+++ b/src/WebformEntitySettingsForm.php
@@ -480,9 +480,9 @@ class WebformEntitySettingsForm extends EntityForm {
       '#title' => $this->t('Allow your users to save and finish the webform later'),
       '#default_value' => $settings['draft'],
       '#options' => [
-        WebformInterface::DRAFT_ENABLED_NONE => $this->t('Disabled'),
-        WebformInterface::DRAFT_ENABLED_AUTHENTICATED => $this->t('Authenticated users'),
-        WebformInterface::DRAFT_ENABLED_ALL => $this->t('Authenticated and anonymous users'),
+        WebformInterface::DRAFT_NONE => $this->t('Disabled'),
+        WebformInterface::DRAFT_AUTHENTICATED => $this->t('Authenticated users'),
+        WebformInterface::DRAFT_ALL => $this->t('Authenticated and anonymous users'),
       ],
     ];
     $form['draft_settings']['draft_message'] = [
@@ -491,7 +491,7 @@ class WebformEntitySettingsForm extends EntityForm {
       '#message_message' => $this->t('Please make sure to enable the <a href=":href">automatic purging of draft submissions</a>, to ensure that your database is not filled with abandoned anonymous submissions in draft.', [':href' => Url::fromRoute('<none>', [], ['fragment' => 'edit-purge'])->toString()]),
       '#states' => [
         'visible' => [
-          ':input[name="draft"]' => ['value' => WebformInterface::DRAFT_ENABLED_ALL],
+          ':input[name="draft"]' => ['value' => WebformInterface::DRAFT_ALL],
           ':input[name="purge"]' => [
             ['value' => WebformSubmissionStorageInterface::PURGE_NONE],
             ['value' => WebformSubmissionStorageInterface::PURGE_COMPLETED],
@@ -503,10 +503,17 @@ class WebformEntitySettingsForm extends EntityForm {
       '#type' => 'container',
       '#states' => [
         'invisible' => [
-          ':input[name="draft"]' => ['value' => WebformInterface::DRAFT_ENABLED_NONE],
+          ':input[name="draft"]' => ['value' => WebformInterface::DRAFT_NONE],
         ],
       ],
     ];
+    $form['draft_settings']['draft_container']['draft_multiple'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Allow users to save multiple drafts.'),
+      "#description" => $this->t('If checked, users will be able saved and resume multiple drafts.'),
+      '#return_value' => TRUE,
+      '#default_value' => $settings['draft_multiple'],
+    ];
     $form['draft_settings']['draft_container']['draft_auto_save'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Automatically save as draft when paging, previewing, and when there are validation errors.'),
diff --git a/src/WebformHandlerBase.php b/src/WebformHandlerBase.php
index 176427c5..3b4a33a0 100644
--- a/src/WebformHandlerBase.php
+++ b/src/WebformHandlerBase.php
@@ -76,10 +76,7 @@ abstract class WebformHandlerBase extends PluginBase implements WebformHandlerIn
   protected $submissionStorage;
 
   /**
-   * {@inheritdoc}
-   */
-  /**
-   * Constructs a WebformElementBast object.
+   * Constructs a WebformElementHandlerBase object.
    *
    * @param array $configuration
    *   A configuration array containing information about the plugin instance.
diff --git a/src/WebformInterface.php b/src/WebformInterface.php
index 8e8036e6..5da5c327 100644
--- a/src/WebformInterface.php
+++ b/src/WebformInterface.php
@@ -17,21 +17,21 @@ interface WebformInterface extends ConfigEntityInterface, EntityWithPluginCollec
    *
    * @var string
    */
-  const DRAFT_ENABLED_NONE = 'none';
+  const DRAFT_NONE = 'none';
 
   /**
    * Denote drafts are allowed for authenticated users only.
    *
    * @var string
    */
-  const DRAFT_ENABLED_AUTHENTICATED = 'authenticated';
+  const DRAFT_AUTHENTICATED = 'authenticated';
 
   /**
    * Denote drafts are allowed for authenticated and anonymous users.
    *
    * @var string
    */
-  const DRAFT_ENABLED_ALL = 'all';
+  const DRAFT_ALL = 'all';
 
   /**
    * Webform status open.
diff --git a/src/WebformMessageManager.php b/src/WebformMessageManager.php
index edd762a6..24126aa3 100644
--- a/src/WebformMessageManager.php
+++ b/src/WebformMessageManager.php
@@ -224,6 +224,20 @@ class WebformMessageManager implements WebformMessageManagerInterface {
         $t_args[':submissions_href'] = $this->requestHandler->getUrl($webform, $source_entity, 'webform.user.submissions')->toString();
         return $this->t('You have already submitted this webform.') . ' ' . $this->t('<a href=":submissions_href">View your previous submissions</a>.', $t_args);
 
+      case WebformMessageManagerInterface::DRAFT_PREVIOUS:
+        $webform_draft = $this->entityStorage->loadDraft($webform, $source_entity, $this->currentUser);
+        if ($source_entity && $source_entity->hasLinkTemplate('canonical')) {
+          $t_args[':draft_href'] = $source_entity->toUrl('canonical', ['query' => ['token' => $webform_draft->getToken()]])->toString();
+        }
+        else {
+          $t_args[':draft_href'] = $webform->toUrl('canonical', ['query' => ['token' => $webform_draft->getToken()]])->toString();
+        }
+        return $this->t('You have a pending draft for this webform.') . ' ' . $this->t('<a href=":draft_href">Load your pending draft</a>.', $t_args);
+
+      case WebformMessageManagerInterface::DRAFTS_PREVIOUS:
+        $t_args[':drafts_href'] = $this->requestHandler->getUrl($webform, $source_entity, 'webform.user.drafts')->toString();
+        return $this->t('You have pending drafts for this webform.') . ' ' . $this->t('<a href=":drafts_href">View your pending drafts</a>.', $t_args);
+
       case WebformMessageManagerInterface::SUBMISSION_UPDATED:
         return $this->t('Submission updated in %form.', $t_args);
 
diff --git a/src/WebformMessageManagerInterface.php b/src/WebformMessageManagerInterface.php
index de9c8c16..b4cdd4bb 100644
--- a/src/WebformMessageManagerInterface.php
+++ b/src/WebformMessageManagerInterface.php
@@ -58,6 +58,16 @@ interface WebformMessageManagerInterface {
    */
   const HANDLER_SUBMISSION_REQUIRED = 9;
 
+  /**
+   * Draft previous.
+   */
+  const DRAFT_PREVIOUS = 10;
+
+  /**
+   * Drafts previous.
+   */
+  const DRAFTS_PREVIOUS = 11;
+
   /****************************************************************************/
   // Configurable message constants.
   // Values corresponds to admin config and webform settings.
diff --git a/src/WebformSubmissionExporter.php b/src/WebformSubmissionExporter.php
index 2aef4d38..7be8c793 100644
--- a/src/WebformSubmissionExporter.php
+++ b/src/WebformSubmissionExporter.php
@@ -564,7 +564,7 @@ class WebformSubmissionExporter implements WebformSubmissionExporterInterface {
         'completed' => $this->t('Completed submissions only'),
         'draft' => $this->t('Drafts only'),
       ],
-      '#access' => ($webform->getSetting('draft') != WebformInterface::DRAFT_ENABLED_NONE),
+      '#access' => ($webform->getSetting('draft') != WebformInterface::DRAFT_NONE),
     ];
   }
 
diff --git a/src/WebformSubmissionForm.php b/src/WebformSubmissionForm.php
index a2a5a098..cf518d88 100644
--- a/src/WebformSubmissionForm.php
+++ b/src/WebformSubmissionForm.php
@@ -184,7 +184,7 @@ class WebformSubmissionForm extends ContentEntityForm {
   public function setEntity(EntityInterface $entity) {
     /** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
     $webform_submission = $entity;
-    $webform = $entity->getWebform();
+    $webform = $webform_submission->getWebform();
 
     // Get the source entity and allow webform submission to be used as a source
     // entity.
@@ -193,13 +193,31 @@ class WebformSubmissionForm extends ContentEntityForm {
       $this->sourceEntity = $this->requestHandler->getCurrentSourceEntity(['webform', 'webform_submission']);
     }
 
-    if ($webform->getSetting('token_update') && ($token = $this->getRequest()->query->get('token'))) {
+    $token = $this->getRequest()->query->get('token');
+    if ($webform->getSetting('token_update') && $token) {
       if ($webform_submissions_token = $this->storage->loadByProperties(['token' => $token])) {
         $entity = reset($webform_submissions_token);
       }
     }
-    elseif ($webform_submission_draft = $this->storage->loadDraft($webform, $this->sourceEntity, $this->currentUser())) {
-      $entity = $webform_submission_draft;
+    elseif ($webform->getSetting('draft') != WebformInterface::DRAFT_NONE) {
+      if ($webform->getSetting('draft_multiple')) {
+        // Allow multiple drafts to be restored using token.
+        // This allows the webform's public facing URL to be used instead of
+        // the admin URL of the webform.
+        if ($token && ($webform_submissions_token = $this->storage->loadByProperties(['token' => $token, 'uid' => $this->currentUser()->id()]))) {
+          /** @var \Drupal\webform\WebformSubmissionInterface $draft_submission */
+          $draft_submission = reset($webform_submissions_token);
+          if ($draft_submission->isDraft()) {
+            $entity = $draft_submission;
+          }
+        }
+      }
+      else {
+        // Else load the most recent draft.
+        if ($webform_submission_draft = $this->storage->loadDraft($webform, $this->sourceEntity, $this->currentUser())) {
+          $entity = $webform_submission_draft;
+        }
+      }
     }
 
     $this->messageManager->setWebform($webform);
@@ -566,20 +584,39 @@ class WebformSubmissionForm extends ContentEntityForm {
         $this->messageManager->display(WebformMessageManagerInterface::SUBMISSION_DRAFT_SAVED);
         $form_state->set('draft_saved', FALSE);
       }
-      elseif ($this->isGet()) {
+      elseif ($this->isGet() && !$webform->getSetting('draft_multiple')) {
         $this->messageManager->display(WebformMessageManagerInterface::SUBMISSION_DRAFT_LOADED);
       }
     }
 
+    // Display link to multiple drafts message when user is adding a new
+    // submission.
+    if ($this->isGet()
+      && $this->getWebformSetting('draft') !== WebformInterface::DRAFT_NONE
+      && $this->getWebformSetting('draft_multiple', FALSE)
+      && ($this->isRoute('webform.canonical') || $this->isWebformEntityReferenceFromSourceEntity())
+      && ($previous_draft_total = $this->storage->getTotal($webform, $this->sourceEntity, $this->currentUser(), TRUE))
+    ) {
+      if ($previous_draft_total > 1) {
+        $this->messageManager->display(WebformMessageManagerInterface::DRAFTS_PREVIOUS);
+      }
+      else {
+        $draft_submission = $this->storage->loadDraft($webform, $this->sourceEntity, $this->currentUser());
+        if (!$draft_submission || $webform_submission->id() != $draft_submission->id()) {
+          $this->messageManager->display(WebformMessageManagerInterface::DRAFT_PREVIOUS);
+        }
+      }
+    }
+
     // Display link to previous submissions message when user is adding a new
     // submission.
     if ($this->isGet()
       && $this->getWebformSetting('form_previous_submissions', FALSE)
       && ($this->isRoute('webform.canonical') || $this->isWebformEntityReferenceFromSourceEntity())
       && ($webform->access('submission_view_own') || $this->currentUser()->hasPermission('view own webform submission'))
-      && ($previous_total = $this->storage->getTotal($webform, $this->sourceEntity, $this->currentUser()))
+      && ($previous_submission_total = $this->storage->getTotal($webform, $this->sourceEntity, $this->currentUser()))
     ) {
-      if ($previous_total > 1) {
+      if ($previous_submission_total > 1) {
         $this->messageManager->display(WebformMessageManagerInterface::SUBMISSIONS_PREVIOUS);
       }
       elseif ($webform_submission->id() != $this->storage->getLastSubmission($webform, $this->sourceEntity, $this->currentUser())->id()) {
@@ -1283,6 +1320,8 @@ class WebformSubmissionForm extends ContentEntityForm {
 
       case 'message':
       default:
+        // Unset token if we are just reloading the current webform.
+        unset($route_options['query']['token']);
         if (!$this->messageManager->display(WebformMessageManagerInterface::SUBMISSION_CONFIRMATION)) {
           $this->messageManager->display(WebformMessageManagerInterface::SUBMISSION_DEFAULT_CONFIRMATION);
         }
@@ -1515,13 +1554,13 @@ class WebformSubmissionForm extends ContentEntityForm {
     }
 
     switch ($this->getWebformSetting('draft')) {
-      case WebformInterface::DRAFT_ENABLED_ALL:
+      case WebformInterface::DRAFT_ALL:
         return TRUE;
 
-      case WebformInterface::DRAFT_ENABLED_AUTHENTICATED:
+      case WebformInterface::DRAFT_AUTHENTICATED:
         return $webform_submission->getOwner()->isAuthenticated();
 
-      case WebformInterface::DRAFT_ENABLED_NONE:
+      case WebformInterface::DRAFT_NONE:
       default:
         return FALSE;
     }
diff --git a/src/WebformSubmissionListBuilder.php b/src/WebformSubmissionListBuilder.php
index 6025bc23..09c649a5 100644
--- a/src/WebformSubmissionListBuilder.php
+++ b/src/WebformSubmissionListBuilder.php
@@ -30,6 +30,16 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
   const STATE_UNSTARRED = 'unstarred';
 
   /**
+   * Submission state completed.
+   */
+  const STATE_COMPLETED = 'completed';
+
+  /**
+   * Submission state draft.
+   */
+  const STATE_DRAFT = 'draft';
+
+  /**
    * The webform request handler.
    *
    * @var \Drupal\webform\WebformRequestInterface
@@ -151,8 +161,15 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
     list($this->webform, $this->sourceEntity) = $this->requestHandler->getWebformEntities();
 
     $base_route_name = ($this->webform) ? $this->requestHandler->getBaseRouteName($this->webform, $this->sourceEntity) : '';
-
-    $this->account = (\Drupal::routeMatch()->getRouteName() == "$base_route_name.webform.user.submissions") ? \Drupal::currentUser() : NULL;
+    if (in_array(\Drupal::routeMatch()->getRouteName(), ["$base_route_name.webform.user.submissions", "$base_route_name.webform.user.drafts"])) {
+      $this->account = \Drupal::currentUser();
+      // Set submission filter so that we can support user.submissions and
+      // user.drafts routes.
+      $this->state = (\Drupal::routeMatch()->getRouteName() === "$base_route_name.webform.user.submissions") ? self::STATE_COMPLETED : self::STATE_DRAFT;
+    }
+    else {
+      $this->account = NULL;
+    }
 
     $this->elementManager = \Drupal::service('plugin.manager.webform.element');
 
@@ -216,10 +233,16 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
   public function render() {
     // Set user specific page title.
     if ($this->webform && $this->account) {
-      $build['#title'] = $this->t('Submissions to %webform for %user', [
+      $t_args = [
         '%webform' => $this->webform->label(),
         '%user' => $this->account->getDisplayName(),
-      ]);
+      ];
+      if ($this->state == self::STATE_DRAFT)  {
+        $build['#title'] = $this->t('Drafts for %webform for %user', $t_args);
+      }
+      else {
+        $build['#title'] = $this->t('Submissions to %webform for %user', $t_args);
+      }
     }
 
     // Display warning when the webform has a submission but saving of results.
@@ -232,9 +255,16 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
     if (empty($this->account)) {
       $state_options = [
         '' => $this->t('All [@total]', ['@total' => $this->getTotal(NULL, NULL)]),
-        'starred' => $this->t('Starred [@total]', ['@total' => $this->getTotal(NULL, self::STATE_STARRED)]),
-        'unstarred' => $this->t('Unstarred [@total]', ['@total' => $this->getTotal(NULL, self::STATE_UNSTARRED)]),
+        self::STATE_STARRED => $this->t('Starred [@total]', ['@total' => $this->getTotal(NULL, self::STATE_STARRED)]),
+        self::STATE_UNSTARRED => $this->t('Unstarred [@total]', ['@total' => $this->getTotal(NULL, self::STATE_UNSTARRED)]),
       ];
+      // Add draft to state options.
+      if (!$this->webform || $this->webform->getSetting('draft') != WebformInterface::DRAFT_NONE) {
+        $state_options += [
+          self::STATE_COMPLETED => $this->t('Completed [@total]', ['@total' => $this->getTotal(NULL, self::STATE_COMPLETED)]),
+          self::STATE_DRAFT => $this->t('Draft [@total]', ['@total' => $this->getTotal(NULL, self::STATE_DRAFT)]),
+        ];
+      }
       $build['filter_form'] = \Drupal::formBuilder()
         ->getForm('\Drupal\webform\Form\WebformSubmissionFilterForm', $this->keys, $this->state, $state_options);
     }
@@ -246,8 +276,14 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
 
     // Display info.
     if ($total = $this->getTotal($this->keys, $this->state)) {
+      if ($this->account && $this->state == self::STATE_DRAFT) {
+        $info = $this->formatPlural($total, '@total draft', '@total drafts', ['@total' => $total]);
+      }
+      else {
+        $info = $this->formatPlural($total, '@total submission', '@total submissions', ['@total' => $total]);
+      }
       $build['info'] = [
-        '#markup' => $this->formatPlural($total, '@total submission', '@total submissions', ['@total' => $total]),
+        '#markup' => $info,
         '#prefix' => '<div>',
         '#suffix' => '</div>',
       ];
@@ -454,7 +490,19 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
         return $entity->id();
 
       case 'serial':
-        $link_url = $this->requestHandler->getUrl($entity, $this->sourceEntity, $this->getSubmissionRouteName());
+        // Note: Using source entity associate with the submission and not
+        // the current webform.
+        if ($entity->isDraft()) {
+          if ($entity->getSourceEntity()  && $entity->getSourceEntity()->hasLinkTemplate('canonical')) {
+            $link_url = $entity->getSourceEntity()->toUrl('canonical', ['query' => ['token' => $entity->getToken()]]);
+          }
+          else {
+            $link_url = $this->webform->toUrl('canonical', ['query' => ['token' => $entity->getToken()]]);
+          }
+        }
+        else {
+          $link_url = $this->requestHandler->getUrl($entity, $entity->getSourceEntity(), $this->getSubmissionRouteName());
+        }
         $link_text = $entity->serial() . ($entity->isDraft() ? ' (' . $this->t('draft') . ')' : '');
         return Link::fromTextAndUrl($link_text, $link_url);
 
@@ -645,7 +693,7 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
    * @param string $keys
    *   (optional) Search key.
    * @param string $state
-   *   (optional) Submission state. Can be 'starred' or 'unstarred'.
+   *   (optional) Submission state.
    *
    * @return int
    *   The total number of submissions.
@@ -662,7 +710,7 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
    * @param string $keys
    *   (optional) Search key.
    * @param string $state
-   *   (optional) Submission state. Can be 'starred' or 'unstarred'.
+   *   (optional) Submission state.
    *
    * @return \Drupal\Core\Entity\Query\QueryInterface
    *   An entity query.
@@ -688,8 +736,23 @@ class WebformSubmissionListBuilder extends EntityListBuilder {
     }
 
     // Filter by (submission) state.
-    if ($state == self::STATE_STARRED || $state == self::STATE_UNSTARRED) {
-      $query->condition('sticky', ($state == self::STATE_STARRED) ? 1 : 0);
+    switch ($state) {
+      case self::STATE_STARRED:
+        $query->condition('sticky', 1);
+        break;
+
+      case self::STATE_UNSTARRED:
+        $query->condition('sticky', 0);
+        break;
+
+      case self::STATE_DRAFT:
+        $query->condition('in_draft', 1);
+        break;
+
+      case self::STATE_COMPLETED:
+        $query->condition('in_draft', 0);
+        break;
+
     }
 
     return $query;
diff --git a/src/WebformSubmissionStorage.php b/src/WebformSubmissionStorage.php
index e1b9653c..e6a331da 100644
--- a/src/WebformSubmissionStorage.php
+++ b/src/WebformSubmissionStorage.php
@@ -7,6 +7,7 @@ use Drupal\Core\Database\Connection;
 use Drupal\Core\Database\Query\AlterableInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Entity\Query\QueryInterface;
 use Drupal\Core\Language\LanguageManagerInterface;
 use Drupal\Core\Serialization\Yaml;
 use Drupal\Core\Database\Database;
@@ -14,6 +15,7 @@ use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Session\AccountProxyInterface;
+use Drupal\user\Entity\User;
 use Drupal\user\UserInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -118,6 +120,21 @@ class WebformSubmissionStorage extends SqlContentEntityStorage implements Webfor
   /**
    * {@inheritdoc}
    */
+  protected function buildPropertyQuery(QueryInterface $entity_query, array $values) {
+    // Add account query wheneven filter by uid.
+    if (isset($values['uid'])) {
+      $account = User::load($values['uid']);
+      $this->addQueryConditions($entity_query, NULL, NULL, $account);
+      unset($values['uid']);
+    }
+
+    parent::buildPropertyQuery($entity_query, $values);
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
   public function deleteAll(WebformInterface $webform = NULL, EntityInterface $source_entity = NULL, $limit = NULL, $max_sid = NULL) {
     $query = $this->getQuery();
     $this->addQueryConditions($query, $webform, $source_entity, NULL);
@@ -138,9 +155,9 @@ class WebformSubmissionStorage extends SqlContentEntityStorage implements Webfor
   /**
    * {@inheritdoc}
    */
-  public function getTotal(WebformInterface $webform = NULL, EntityInterface $source_entity = NULL, AccountInterface $account = NULL) {
+  public function getTotal(WebformInterface $webform = NULL, EntityInterface $source_entity = NULL, AccountInterface $account = NULL, $in_draft = FALSE) {
     $query = $this->getQuery();
-    $this->addQueryConditions($query, $webform, $source_entity, $account, ['in_draft' => FALSE]);
+    $this->addQueryConditions($query, $webform, $source_entity, $account, ['in_draft' => $in_draft]);
 
     // Issue: Query count method is not working for SQL Lite.
     // return $query->count()->execute();
@@ -1019,6 +1036,9 @@ class WebformSubmissionStorage extends SqlContentEntityStorage implements Webfor
     $query = $this->getQuery();
     $this->addQueryConditions($query, $webform, $source_entity, $account, $options);
 
+    // Only load the most recent draft.
+    $query->sort('sid', 'DESC');
+
     return ($sids = $query->execute()) ? $this->load(reset($sids)) : NULL;
   }
 
diff --git a/src/WebformSubmissionStorageInterface.php b/src/WebformSubmissionStorageInterface.php
index 70ce54d3..ac542b77 100644
--- a/src/WebformSubmissionStorageInterface.php
+++ b/src/WebformSubmissionStorageInterface.php
@@ -114,6 +114,9 @@ interface WebformSubmissionStorageInterface extends ContentEntityStorageInterfac
    *   (optional) A webform submission source entity.
    * @param \Drupal\Core\Session\AccountInterface|null $account
    *   (optional) A user account.
+   * @param bool $in_draft
+   *   (optional) Look for submissions in draft. Defaults to FALSE.
+   *   Setting to NULL will return all saved submissions and drafts.
    *
    * @return int
    *   Total number of submissions.
@@ -159,13 +162,13 @@ interface WebformSubmissionStorageInterface extends ContentEntityStorageInterfac
    * @param \Drupal\Core\Database\Query\AlterableInterface $query
    *   The query instance.
    * @param \Drupal\webform\WebformInterface $webform
-   *   A webform.
+   *   (optional) A webform.
    * @param \Drupal\Core\Entity\EntityInterface|null $source_entity
    *   (optional) A webform submission source entity.
    * @param \Drupal\Core\Session\AccountInterface $account
-   *   The current user account.
+   *   (optional) The current user account.
    * @param array $options
-   *   Additional options and query conditions.
+   *   (optional) Additional options and query conditions.
    */
   public function addQueryConditions(AlterableInterface $query, WebformInterface $webform = NULL, EntityInterface $source_entity = NULL, AccountInterface $account = NULL, array $options = []);
 
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_inline.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_inline.yml
index bd06c16a..eb1efcb1 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_inline.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_inline.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_message.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_message.yml
index 663b28f1..eca08565 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_message.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_message.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page.yml
index f2e51e86..4f790922 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page_custom.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page_custom.yml
index a1352c46..ab4107f1 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page_custom.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_page_custom.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url.yml
index 0a91919e..18d1226d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url_message.yml b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url_message.yml
index e3e38ed6..1bdae383 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url_message.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_confirmation_url_message.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element.yml b/tests/modules/webform_test/config/install/webform.webform.test_element.yml
index 6a938ebd..6c8dfa85 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element.yml
@@ -265,6 +265,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_access.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_access.yml
index f1f27166..402a30de 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_access.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_access.yml
@@ -113,6 +113,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_actions.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_actions.yml
index 91ab3d14..da318c71 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_actions.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_actions.yml
@@ -1,8 +1,6 @@
 langcode: en
 status: open
 dependencies:
-  module:
-    - honeypot
   enforced:
     module:
       - webform_test
@@ -146,6 +144,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: all
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_actions_buttons.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_actions_buttons.yml
index 4bff9904..a10f11c7 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_actions_buttons.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_actions_buttons.yml
@@ -86,6 +86,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: authenticated
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_allowed_tags.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_allowed_tags.yml
index 3877a8ee..96c71511 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_allowed_tags.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_allowed_tags.yml
@@ -51,6 +51,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_attributes.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_attributes.yml
index fb7e3b52..d10a1490 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_attributes.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_attributes.yml
@@ -64,6 +64,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_autocomplete.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_autocomplete.yml
index 1b37a173..7e24dfa5 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_autocomplete.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_autocomplete.yml
@@ -69,6 +69,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_codemirror.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_codemirror.yml
index 7d1421f6..74d93e68 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_codemirror.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_codemirror.yml
@@ -69,6 +69,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_composite.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_composite.yml
index 7e78b459..dde25ed8 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_composite.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_composite.yml
@@ -123,6 +123,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_computed_token.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_computed_token.yml
index bd732121..a3fe8204 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_computed_token.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_computed_token.yml
@@ -101,6 +101,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_computed_twig.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_computed_twig.yml
index 2588e465..c37b3b82 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_computed_twig.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_computed_twig.yml
@@ -118,6 +118,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
@@ -139,6 +140,7 @@ settings:
   entity_limit_user: null
   results_disabled: false
   results_disabled_ignore: false
+  token_update: false
 access:
   create:
     roles:
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_date.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_date.yml
index 85e0e605..84d2d975 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_date.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_date.yml
@@ -88,6 +88,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_datelist.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_datelist.yml
index f9caf82a..eda55ff0 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_datelist.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_datelist.yml
@@ -78,6 +78,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_datetime.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_datetime.yml
index 68af5aaf..62447f85 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_datetime.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_datetime.yml
@@ -97,6 +97,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_disabled.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_disabled.yml
index 711cc306..b46d5e5c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_disabled.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_disabled.yml
@@ -381,6 +381,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_email.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_email.yml
index a9d682f9..d9ef4288 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_email.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_email.yml
@@ -84,6 +84,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_entity_reference.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_entity_reference.yml
index 7696d022..923862b6 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_entity_reference.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_entity_reference.yml
@@ -148,6 +148,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox.yml
index b7967649..7e71ffc9 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox.yml
@@ -974,6 +974,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox_flex.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox_flex.yml
index 919b65c5..762b071e 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox_flex.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_flexbox_flex.yml
@@ -837,6 +837,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_format.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_format.yml
index f1959d8a..f47140a2 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_format.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_format.yml
@@ -1144,6 +1144,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_format_composite.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_format_composite.yml
index 18da4cff..b23e7cff 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_format_composite.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_format_composite.yml
@@ -476,6 +476,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_format_multi_comp.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_format_multi_comp.yml
index 30566e68..f7f931b3 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_format_multi_comp.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_format_multi_comp.yml
@@ -492,6 +492,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_format_multiple.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_format_multiple.yml
index fe8ff079..dce42451 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_format_multiple.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_format_multiple.yml
@@ -1609,6 +1609,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_format_token.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_format_token.yml
index 72ca0bfe..00b759b5 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_format_token.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_format_token.yml
@@ -58,6 +58,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml
index acc37647..10c94958 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml
@@ -51,6 +51,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_html_escape.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_html_escape.yml
index ae11dd6a..7631a4fb 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_html_escape.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_html_escape.yml
@@ -555,6 +555,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_html_markup.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_html_markup.yml
index f4d374ca..ad56c440 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_html_markup.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_html_markup.yml
@@ -555,6 +555,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_icheck.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_icheck.yml
index 4e33a381..19dbbac8 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_icheck.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_icheck.yml
@@ -129,6 +129,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_icheck_styles.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_icheck_styles.yml
index ff5c8259..0492e58b 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_icheck_styles.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_icheck_styles.yml
@@ -719,6 +719,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_ignored_properties.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_ignored_properties.yml
index 7857494d..debd0d95 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_ignored_properties.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_ignored_properties.yml
@@ -61,6 +61,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_image_select.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_image_select.yml
index 02648455..aa8508d9 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_image_select.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_image_select.yml
@@ -157,6 +157,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_invalid.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_invalid.yml
index 3c1bba51..51d09b04 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_invalid.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_invalid.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_likert.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_likert.yml
index 661196a8..ad05fff0 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_likert.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_likert.yml
@@ -77,6 +77,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_location.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_location.yml
index 4d620764..7f3d0f07 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_location.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_location.yml
@@ -123,6 +123,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_managed_file.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_managed_file.yml
index 65d50070..a83ceb25 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_managed_file.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_managed_file.yml
@@ -56,6 +56,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_mapping.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_mapping.yml
index e96b3554..3d5922bc 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_mapping.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_mapping.yml
@@ -139,6 +139,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_markup.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_markup.yml
index 83f4c296..38f3ced4 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_markup.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_markup.yml
@@ -61,6 +61,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_media_file.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_media_file.yml
index 649fc6c0..9b961d1d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_media_file.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_media_file.yml
@@ -98,6 +98,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_message.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_message.yml
index 5988c1c0..e09bb5b2 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_message.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_message.yml
@@ -116,6 +116,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple.yml
index e63b45f8..d9c382fa 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple.yml
@@ -194,6 +194,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_date.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_date.yml
index 6768bdad..fac4c9a1 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_date.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_date.yml
@@ -71,6 +71,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_property.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_property.yml
index 7480e2ba..b85a49ef 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_property.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_property.yml
@@ -67,6 +67,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_text.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_text.yml
index 502ba2bd..e699890c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_text.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_multiple_text.yml
@@ -112,6 +112,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_options.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_options.yml
index 53f1b4ea..ecdeb499 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_options.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_options.yml
@@ -89,6 +89,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_other.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_other.yml
index da9f978b..cef0f6f8 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_other.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_other.yml
@@ -170,6 +170,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_private.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_private.yml
index 958f52d0..d70df081 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_private.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_private.yml
@@ -55,6 +55,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_radios.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_radios.yml
index 886e4e4b..cfb9c98b 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_radios.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_radios.yml
@@ -88,6 +88,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_rating.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_rating.yml
index 692bfcae..ebedec6d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_rating.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_rating.yml
@@ -61,6 +61,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_signature.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_signature.yml
index d5e1aeec..38f5c8d4 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_signature.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_signature.yml
@@ -54,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_states.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_states.yml
index 2308e3ea..b675608c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_states.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_states.yml
@@ -111,6 +111,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_table.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_table.yml
index da4cbb40..6cd44ce6 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_table.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_table.yml
@@ -210,6 +210,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_telephone.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_telephone.yml
index 6cc7e376..512bfbcd 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_telephone.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_telephone.yml
@@ -54,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_term_reference.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_term_reference.yml
index 570aaafd..f858c22c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_term_reference.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_term_reference.yml
@@ -128,6 +128,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_text.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_text.yml
index 2df0c111..f74ad04d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_text.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_text.yml
@@ -79,6 +79,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_text_format.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_text_format.yml
index 40f0cd2d..f7a3dc0c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_text_format.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_text_format.yml
@@ -52,6 +52,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_time.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_time.yml
index ce9210a7..bb7ff6fd 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_time.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_time.yml
@@ -94,6 +94,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_toggle.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_toggle.yml
index 9c5d820a..df9350ea 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_toggle.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_toggle.yml
@@ -81,6 +81,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_users_roles.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_users_roles.yml
index d70bc186..2ca95f34 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_users_roles.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_users_roles.yml
@@ -64,6 +64,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_minlength.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_minlength.yml
index 4d26e5f2..2fc77476 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_minlength.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_minlength.yml
@@ -52,6 +52,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_multiple.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_multiple.yml
index 00f69d08..6e32f613 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_multiple.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_multiple.yml
@@ -110,6 +110,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_required.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_required.yml
index 396b9542..f974d89c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_required.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_required.yml
@@ -61,6 +61,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_unique.yml b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_unique.yml
index 248c794e..369806e2 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_element_validate_unique.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_element_validate_unique.yml
@@ -71,6 +71,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_api.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_api.yml
index c6101ef8..45b5e2ba 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_api.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_api.yml
@@ -150,6 +150,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_assets.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_assets.yml
index 25bae856..618bb4df 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_assets.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_assets.yml
@@ -60,6 +60,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_autofocus.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_autofocus.yml
index c3468285..b5d85a0b 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_autofocus.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_autofocus.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_closed.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_closed.yml
index 7e786d88..c64679a8 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_closed.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_closed.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_confidential.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_confidential.yml
index 7f66cc45..c886f80b 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_confidential.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_confidential.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_details_toggle.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_details_toggle.yml
index 4986f45e..308cb058 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_details_toggle.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_details_toggle.yml
@@ -57,6 +57,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_disable_autocomplete.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_disable_autocomplete.yml
index 78f29c7e..978d3572 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_disable_autocomplete.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_disable_autocomplete.yml
@@ -52,6 +52,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_disable_back.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_disable_back.yml
index 5f89dd9b..0ec92a20 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_disable_back.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_disable_back.yml
@@ -377,6 +377,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_draft_anonymous.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_anonymous.yml
index 47ca65f9..081abb21 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_draft_anonymous.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_anonymous.yml
@@ -20,10 +20,6 @@ elements: |
   comment:
     '#type': textarea
     '#title': Comment
-  actions:
-    '#type': webform_actions
-    '#title': 'Submit button(s)'
-    '#draft__label': 'Save a draft'
 css: ''
 javascript: ''
 settings:
@@ -58,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: all
+  draft_multiple: false
   draft_auto_save: true
   draft_saved_message: 'Your draft has been saved'
   draft_loaded_message: 'You have an existing draft'
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_draft_authenticated.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_authenticated.yml
index a30977d0..782b791c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_draft_authenticated.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_authenticated.yml
@@ -20,10 +20,6 @@ elements: |
   comment:
     '#type': textarea
     '#title': Comment
-  actions:
-    '#type': webform_actions
-    '#title': 'Submit button(s)'
-    '#draft__label': 'Save a draft'
 css: ''
 javascript: ''
 settings:
@@ -58,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: authenticated
+  draft_multiple: false
   draft_auto_save: true
   draft_saved_message: 'Your draft has been saved'
   draft_loaded_message: 'You have an existing draft'
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_draft_multiple.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_multiple.yml
new file mode 100644
index 00000000..7a428624
--- /dev/null
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_draft_multiple.yml
@@ -0,0 +1,107 @@
+langcode: en
+status: open
+dependencies:
+  enforced:
+    module:
+      - webform_test
+open: null
+close: null
+uid: null
+template: false
+id: test_form_draft_multiple
+title: 'Test: Webform: Draft multiple'
+description: 'Test saving multiple drafts.'
+category: 'Test: Webform'
+elements: |
+  name:
+    '#type': textfield
+    '#title': Name
+    '#required': true
+  comment:
+    '#type': textarea
+    '#title': Comment
+css: ''
+javascript: ''
+settings:
+  page: true
+  page_submit_path: ''
+  page_confirm_path: ''
+  form_submit_once: false
+  form_exception_message: ''
+  form_open_message: ''
+  form_close_message: ''
+  form_previous_submissions: true
+  form_confidential: false
+  form_confidential_message: ''
+  form_convert_anonymous: false
+  form_prepopulate: true
+  form_prepopulate_source_entity: false
+  form_disable_autocomplete: false
+  form_novalidate: false
+  form_unsaved: false
+  form_disable_back: false
+  form_autofocus: false
+  form_details_toggle: false
+  submission_log: false
+  wizard_progress_bar: true
+  wizard_progress_pages: false
+  wizard_progress_percentage: false
+  wizard_start_label: ''
+  wizard_complete: true
+  wizard_complete_label: ''
+  preview: 1
+  preview_label: ''
+  preview_title: ''
+  preview_message: ''
+  draft: all
+  draft_multiple: true
+  draft_auto_save: true
+  draft_saved_message: ''
+  draft_loaded_message: 'You have saved drafts.'
+  confirmation_type: message
+  confirmation_title: ''
+  confirmation_message: ''
+  confirmation_url: ''
+  confirmation_attributes: {  }
+  confirmation_back: true
+  confirmation_back_label: ''
+  confirmation_back_attributes: {  }
+  limit_total: null
+  limit_total_message: ''
+  limit_user: null
+  limit_user_message: ''
+  purge: none
+  purge_days: null
+  entity_limit_total: null
+  entity_limit_user: null
+  results_disabled: false
+  results_disabled_ignore: true
+  token_update: false
+access:
+  create:
+    roles:
+      - anonymous
+      - authenticated
+    users: {  }
+  view_any:
+    roles: {  }
+    users: {  }
+  update_any:
+    roles: {  }
+    users: {  }
+  delete_any:
+    roles: {  }
+    users: {  }
+  purge_any:
+    roles: {  }
+    users: {  }
+  view_own:
+    roles: {  }
+    users: {  }
+  update_own:
+    roles: {  }
+    users: {  }
+  delete_own:
+    roles: {  }
+    users: {  }
+handlers: {  }
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_limit.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_limit.yml
index fb5a2c6e..9452e3f8 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_limit.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_limit.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: authenticated
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_long_100.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_long_100.yml
index 3ce04310..9f617310 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_long_100.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_long_100.yml
@@ -347,6 +347,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_long_200.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_long_200.yml
index 85687ea0..1a722992 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_long_200.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_long_200.yml
@@ -647,6 +647,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_long_300.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_long_300.yml
index c529f984..d3448c49 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_long_300.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_long_300.yml
@@ -947,6 +947,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_novalidate.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_novalidate.yml
index 71eb62d9..f5055c8a 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_novalidate.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_novalidate.yml
@@ -54,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_opening.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_opening.yml
index bfe1eb65..535e8b7d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_opening.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_opening.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_prepopulate.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_prepopulate.yml
index b4d87fa6..db381231 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_prepopulate.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_prepopulate.yml
@@ -59,6 +59,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_preview.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_preview.yml
index 8c3f2d0f..0d1b3e9f 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_preview.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_preview.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_properties.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_properties.yml
index d1585874..a3ad81b9 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_properties.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_properties.yml
@@ -62,6 +62,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_results_disabled.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_results_disabled.yml
index d656892b..4ed7d5f5 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_results_disabled.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_results_disabled.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_states.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_states.yml
index f230dafc..d32c5d27 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_states.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_states.yml
@@ -2590,6 +2590,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_states_triggers.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_states_triggers.yml
index ee5e36e5..325f7a3f 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_states_triggers.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_states_triggers.yml
@@ -162,6 +162,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_submit_once.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_submit_once.yml
index aebe097f..8ed6ccd2 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_submit_once.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_submit_once.yml
@@ -58,6 +58,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: authenticated
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_submit_text.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_submit_text.yml
index f3d92464..db81c405 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_submit_text.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_submit_text.yml
@@ -51,6 +51,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_template.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_template.yml
index 26949f44..eb9fee62 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_template.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_template.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_unsaved.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_unsaved.yml
index 1977167e..d3b49999 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_unsaved.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_unsaved.yml
@@ -51,6 +51,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_validate.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_validate.yml
index 4946fd12..9082445a 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_validate.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_validate.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_advanced.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_advanced.yml
index b26c51ad..d48ea5dc 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_advanced.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_advanced.yml
@@ -92,6 +92,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: authenticated
+  draft_multiple: false
   draft_auto_save: true
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_basic.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_basic.yml
index 7dde4863..cb52f4f1 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_basic.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_basic.yml
@@ -61,6 +61,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_custom.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_custom.yml
index fc40b647..a35a5542 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_custom.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_custom.yml
@@ -93,6 +93,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_100.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_100.yml
index d2dbfa7d..5e459823 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_100.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_100.yml
@@ -377,6 +377,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_200.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_200.yml
index c2003e84..91f23942 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_200.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_200.yml
@@ -707,6 +707,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_300.yml b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_300.yml
index 9398a017..c762da63 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_300.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_form_wizard_long_300.yml
@@ -1037,6 +1037,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email.yml
index 021eba6b..1b4f0f39 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email.yml
@@ -72,6 +72,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_advanced.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_advanced.yml
index 54fc9a91..f947a34c 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_advanced.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_advanced.yml
@@ -76,6 +76,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
index 5fa54414..49d72e57 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
@@ -62,6 +62,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
index d300a35d..1e8559b1 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
@@ -54,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_states.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_states.yml
index 2081d714..f8d74a6f 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_states.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_states.yml
@@ -49,6 +49,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: all
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_libraries_optional.yml b/tests/modules/webform_test/config/install/webform.webform.test_libraries_optional.yml
index 1c01648a..698f3b42 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_libraries_optional.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_libraries_optional.yml
@@ -125,6 +125,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_results.yml b/tests/modules/webform_test/config/install/webform.webform.test_results.yml
index 8702bc38..8134bf16 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_results.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_results.yml
@@ -90,6 +90,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_submission_log.yml b/tests/modules/webform_test/config/install/webform.webform.test_submission_log.yml
index 30b476f0..0b785e6e 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_submission_log.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_submission_log.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: all
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_token.yml b/tests/modules/webform_test/config/install/webform.webform.test_token.yml
index be13dcad..19ea632d 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_token.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_token.yml
@@ -153,6 +153,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_token_submission_value.yml b/tests/modules/webform_test/config/install/webform.webform.test_token_submission_value.yml
index dda90378..91633323 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_token_submission_value.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_token_submission_value.yml
@@ -104,6 +104,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_token_update.yml b/tests/modules/webform_test/config/install/webform.webform.test_token_update.yml
index 6f0e2bd0..b7102ccf 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_token_update.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_token_update.yml
@@ -50,6 +50,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test_element/config/install/webform.webform.test_element_plugin_test.yml b/tests/modules/webform_test_element/config/install/webform.webform.test_element_plugin_test.yml
index 2e43ec16..21662b42 100644
--- a/tests/modules/webform_test_element/config/install/webform.webform.test_element_plugin_test.yml
+++ b/tests/modules/webform_test_element/config/install/webform.webform.test_element_plugin_test.yml
@@ -54,6 +54,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_remote_post.yml b/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_remote_post.yml
index 72292c2c..90482c34 100644
--- a/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_remote_post.yml
+++ b/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_remote_post.yml
@@ -72,6 +72,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_test.yml b/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_test.yml
index 2560f5d6..4b3e786d 100644
--- a/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_test.yml
+++ b/tests/modules/webform_test_handler/config/install/webform.webform.test_handler_test.yml
@@ -53,6 +53,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/tests/modules/webform_test_options/config/install/webform.webform.test_options.yml b/tests/modules/webform_test_options/config/install/webform.webform.test_options.yml
index 66052b5c..b30b5fa7 100644
--- a/tests/modules/webform_test_options/config/install/webform.webform.test_options.yml
+++ b/tests/modules/webform_test_options/config/install/webform.webform.test_options.yml
@@ -255,6 +255,7 @@ settings:
   preview_title: ''
   preview_message: ''
   draft: none
+  draft_multiple: false
   draft_auto_save: false
   draft_saved_message: ''
   draft_loaded_message: ''
diff --git a/webform.install b/webform.install
index cf1225b6..1dd5918a 100644
--- a/webform.install
+++ b/webform.install
@@ -720,3 +720,10 @@ function webform_update_8049() {
     }
   }
 }
+
+/**
+ * Issue #2856472: Allow multiple drafts per users.
+ */
+function webform_update_8050() {
+  _webform_update_webform_settings();
+}
diff --git a/webform.routing.yml b/webform.routing.yml
index 1bd27c68..785574a4 100644
--- a/webform.routing.yml
+++ b/webform.routing.yml
@@ -89,6 +89,18 @@ entity.webform.user.submissions:
   requirements:
     _entity_access: 'webform.submission_view_own'
 
+entity.webform.user.drafts:
+  path: '/webform/{webform}/drafts'
+  defaults:
+    _entity_list: 'webform_submission'
+    _title: 'Drafts'
+  options:
+    parameters:
+      webform:
+        type: 'entity:webform'
+  requirements:
+    _entity_access: 'webform.view'
+
 entity.webform.user.submission:
   path: '/webform/{webform}/submissions/{webform_submission}'
   defaults:
@@ -98,6 +110,7 @@ entity.webform.user.submission:
   requirements:
     _entity_access: 'webform_submission.view'
 
+
 entity.webform.user.submission.edit:
   path: '/webform/{webform}/submissions/{webform_submission}/edit'
   defaults:
