diff --git a/district/models.py b/district/models.py
index fc0bd5d1f73730d53f49463bc555b2ebbb3b9c93..f81217b6a169d1d0fc716c1fc691755e1b0982c8 100644
--- a/district/models.py
+++ b/district/models.py
@@ -43,6 +43,7 @@ from shared.blocks import (
     FooterLinksBlock,
     FullSizeHeaderBlock,
     HeadlineBlock,
+    NewsletterSubscriptionBlock,
     YouTubeVideoBlock,
 )
 from shared.const import RICH_TEXT_DEFAULT_FEATURES
@@ -100,6 +101,7 @@ class DistrictHomePage(
                 ),
             ),
             ("headline", HeadlineBlock()),
+            ("newsletter", NewsletterSubscriptionBlock()),
         ],
         verbose_name="Obsah stránky",
         blank=True,
@@ -1406,7 +1408,11 @@ class DistrictCrossroadPage(
 
 
 class DistrictCustomPage(
-    ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page
+    ExtendedMetadataPageMixin,
+    SubpageMixin,
+    MetadataPageMixin,
+    NewsletterFormMixin,
+    Page,
 ):
     ### FIELDS
 
@@ -1415,6 +1421,7 @@ class DistrictCustomPage(
         + [
             ("badge", blocks.PersonBadgeBlock()),
             ("people_group", blocks.PeopleGroupListBlock()),
+            ("newsletter", NewsletterSubscriptionBlock()),
         ],
         verbose_name="Obsah",
         blank=True,
@@ -1429,7 +1436,7 @@ class DistrictCustomPage(
 
     promote_panels = make_promote_panels()
 
-    settings_panels = []
+    settings_panels = NewsletterFormMixin.settings_panels
 
     ### RELATIONS
 
diff --git a/district/templates/district/base.html b/district/templates/district/base.html
index c2d85f2696b036ccb5d4fc03f176426761bb637c..50cdcd0602c15033213739532ab6308b866a4545 100644
--- a/district/templates/district/base.html
+++ b/district/templates/district/base.html
@@ -352,7 +352,7 @@
   <script src="{% static "shared/vendor/jquery/jquery-3.4.1.min.js" %}"></script>
   <script src="{% static "shared/vendor/lazysizes/lazysizes.min.js" %}"></script>
   <script src="{% static "shared/vendor/fancybox/jquery.fancybox.min.js" %}"></script>
-  <script src="{% static "shared/vendor/vue-formulate-2.5.3/js/formulate.umd.min.js" %}"></script>
+  <script src="{% static "shared/vendor/vue-formulate-2.5.3/js/formulate.min.js" %}"></script>
   <script src="{% static "shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js" %}"></script>
   <script src="{% static "shared/js/vue-formulate-helper.js" %}"></script>
 
diff --git a/shared/blocks.py b/shared/blocks.py
index d4d366443637f9661095177da7f0704f4ceaa812..a85b3d875b084009d159e9cdfd321a7322988992 100644
--- a/shared/blocks.py
+++ b/shared/blocks.py
@@ -1076,24 +1076,53 @@ class FooterLinksBlock(blocks.StructBlock):
 class NewsletterSubscriptionBlock(blocks.StructBlock):
     design = blocks.StructBlock(
         local_blocks=[
-            ("icon", ImageChooserBlock(label="Vyberte si ikonku k formuláři")),
-            ("title", blocks.CharBlock(label="Nadpis formuláře")),
-            ("subtitle", blocks.CharBlock(label="Podnadpis formuláře")),
+            (
+                "icon",
+                ImageChooserBlock(
+                    label="Vyberte si ikonku k formuláři",
+                    required=False,
+                    help_text="Pokud žádnou nevyberete, zobrazí se ikonka pro lahev v moři",
+                ),
+            ),
+            (
+                "title",
+                blocks.CharBlock(
+                    label="Nadpis formuláře", default="Odebírej náš newsletter"
+                ),
+            ),
+            (
+                "subtitle",
+                blocks.CharBlock(
+                    label="Podnadpis formuláře",
+                    default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!",
+                ),
+            ),
             (
                 "consent",
-                blocks.RichTextBlock(label="Souhlas se zpracováním osobních údajů"),
+                blocks.RichTextBlock(
+                    label="Souhlas se zpracováním osobních údajů",
+                    features=RICH_TEXT_DEFAULT_FEATURES,
+                    default="Souhlasím se zpracováním osobních údajů",
+                ),
+            ),
+            (
+                "button",
+                blocks.CharBlock(
+                    label="Tlačítko pro přihlášení k newsletteru", default="Odebírat"
+                ),
             ),
-            ("button", blocks.CharBlock(label="Tlačítko pro přihlášení k newsletteru")),
             (
                 "require_confirmation",
                 blocks.CharBlock(
-                    label="Zpráva o úspěšném zaslání potvrzovacího emailu"
+                    label="Zpráva o úspěšném zaslání potvrzovacího emailu",
+                    default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.",
                 ),
             ),
             (
                 "no_require_confirmation",
                 blocks.CharBlock(
                     label="Zpráva o úspěšném zaregistrování k newsletteru",
+                    default="Jsi přihlášen/a k odběru našich novinek.",
                     help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email",
                 ),
             ),
@@ -1101,37 +1130,34 @@ class NewsletterSubscriptionBlock(blocks.StructBlock):
                 "labels",
                 blocks.StructBlock(
                     local_blocks=[
-                        ("email", blocks.CharBlock(label="Popisek emailu")),
+                        (
+                            "email",
+                            blocks.CharBlock(
+                                label="Popisek emailu", default="Tvůj e-mail"
+                            ),
+                        ),
                         (
                             "first_name",
-                            blocks.CharBlock(label="Popisek křestního jména"),
+                            blocks.CharBlock(
+                                label="Popisek křestního jména",
+                                default="Tvoje křestní jméno",
+                                help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci",
+                            ),
+                        ),
+                        (
+                            "last_name",
+                            blocks.CharBlock(
+                                label="Popisek příjmení",
+                                default="Tvoje příjmení",
+                                help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci",
+                            ),
                         ),
-                        ("last_name", blocks.CharBlock(label="Popisek příjmení")),
-                    ],
-                    default=[
-                        ("email", "Tvůj e-mail"),
-                        ("first_name", "Tvoje křestní jméno"),
-                        ("last_name", "Tvoje příjmení"),
                     ],
                     label="popisky vstupů uživatele",
                     required=True,
                 ),
             ),
         ],
-        default=[
-            ("title", "Odebírej náš newsletter"),
-            (
-                "subtitle",
-                "Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!",
-            ),
-            ("consent", "Souhlasím se zpracováním osobních údajů"),
-            (
-                "require_confirmation",
-                "Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.",
-            ),
-            ("no_require_confirmation", "Jsi přihlášen/a k odběru našich novinek."),
-            ("button", "Odebírat"),
-        ],
         label="Design formuláře",
         required=True,
     )
@@ -1149,6 +1175,7 @@ class NewsletterSubscriptionBlock(blocks.StructBlock):
                 blocks.BooleanBlock(
                     label="Přihlásit uživatele, i když se v minulosti odhlásil?",
                     required=False,
+                    default=True,
                 ),
             ),
             (
@@ -1159,17 +1186,13 @@ class NewsletterSubscriptionBlock(blocks.StructBlock):
                 ),
             ),
         ],
-        default=[
-            ("show_name_input", False),
-            ("force_subscribe", True),
-            ("send_timezone", False),
-        ],
         label="Konfigurace",
         required=True,
     )
 
     class Meta:
         label = "Formulář pro odebírání newsletteru"
+        help_text = "Formulář bude fungovat pouze pokud nastavíte token a ID newsletteru v nastavení homepage, nebo této stránky"
         icon = "form"
         template = "shared/blocks/newsletter_subscription_block.html"
 
diff --git a/shared/models.py b/shared/models.py
index 0dc2ab9eb46fe2a7948416b8d159c93d9a911ad0..2db25f1d2254b8a405c05755dd5bdf5264e820a5 100644
--- a/shared/models.py
+++ b/shared/models.py
@@ -1,8 +1,7 @@
 import logging
 
-from django.core.serializers.json import DjangoJSONEncoder
 from django.db import models
-from django.http import JsonResponse
+from django.http import HttpResponse
 from django.utils import timezone
 from requests import request
 from wagtail.admin.panels import FieldPanel, MultiFieldPanel, PublishingPanel
@@ -21,10 +20,14 @@ logger = logging.getLogger(__name__)
 
 
 class NewsletterFormMixin(RoutablePageMixin, models.Model):
-    subscription_id = models.CharField(label="ID newsletteru")
-    access_token = models.CharField(label="Access token")
+    subscription_id = models.CharField(
+        verbose_name="ID newsletteru", max_length=512, null=True, blank=True
+    )
+    access_token = models.CharField(
+        verbose_name="Access token", max_length=512, null=True, blank=True
+    )
     require_confirmation = models.BooleanField(
-        label="Požadovat zaslání ověřovacího e-mailu?", default=True
+        verbose_name="Požadovat zaslání ověřovacího e-mailu?", default=True
     )
 
     settings_panels = [
@@ -32,13 +35,15 @@ class NewsletterFormMixin(RoutablePageMixin, models.Model):
             [
                 FieldPanel("subscription_id"),
                 FieldPanel("access_token"),
+                FieldPanel("require_confirmation"),
             ],
-            heading="Nastavení API newsletteru",
+            "Nastavení API newsletteru",
         ),
     ]
 
     @route(r"^newsletter/$", name="newsletter")
     def newsletter_post(self, posted):
+        client_response = HttpResponse()
         if posted.method == "POST":
             mailtrain_request = {"EMAIL": posted.POST["email"]}
             if "first_name" in posted.POST and "last_name" in posted.POST:
@@ -58,15 +63,24 @@ class NewsletterFormMixin(RoutablePageMixin, models.Model):
                 mailtrain_request.update({"TIMEZONE": posted.POST["timezone"]})
             if self.require_confirmation:
                 mailtrain_request.update({"REQUIRE_CONFIRMATION": "yes"})
-            return JsonResponse(
-                request(
-                    "POST",
-                    f"https://mailtrain.pirati.cz/api/subscribe/{self.subscription_id}?access_token={self.access_token}",
-                    mailtrain_request,
-                ).json(),
-                encoder=DjangoJSONEncoder,
+            response = request(
+                "POST",
+                f"https://mailtrain.pirati.cz/api/subscribe/{self.subscription_id}?access_token={self.access_token}",
+                mailtrain_request,
             )
-        raise ValueError("Request has to be post!")
+            if "error" in response.json():
+                client_response.status_code = 500
+            else:
+                client_response.status_code = response.status_code
+
+            return client_response
+
+        client_response.status_code = 400
+        return client_response
+
+    @property
+    def has_newsletter_form(self):
+        return True
 
     class Meta:
         abstract = True
diff --git a/shared/static/shared/img/newsletter.svg b/shared/static/shared/img/newsletter.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d50060f3072690de82cab44ed8864298df2e0c44
--- /dev/null
+++ b/shared/static/shared/img/newsletter.svg
@@ -0,0 +1,11 @@
+<svg id="Group_50" data-name="Group 50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="158.03" height="200.379" viewBox="0 0 158.03 200.379">
+  <defs>
+    <clipPath id="clip-path">
+      <rect id="Rectangle_71" data-name="Rectangle 71" width="158.03" height="200.379"/>
+    </clipPath>
+  </defs>
+  <g id="Group_49" data-name="Group 49" clip-path="url(#clip-path)">
+    <path id="Path_533" data-name="Path 533" d="M39.771,27.6a23.544,23.544,0,0,0,2.3-.938c.546-.291.947-.2,1.153.416.06.179.243.311.335.484.453.86.882,1.733,1.344,2.588.5.93,1.042,1.839,1.543,2.769.131.242.144.548.276.788a16.3,16.3,0,0,0,1.323,2.774c.548.679.6,1.737,1.069,2.505.505.824.67,1.829,1.457,2.518.318.278.357.859.566,1.282.439.892.866,1.794,1.373,2.648a7.67,7.67,0,0,0,2.465,2.777,4.724,4.724,0,0,0,1.645.665c.791.131,1.613.063,2.419.117,1.979.132,3.966.213,5.932.456a28.476,28.476,0,0,1,3.628.863,13.474,13.474,0,0,1,2.078.647c1.086.482,2.133,1.052,3.19,1.6.634.327,1.278.643,1.876,1.027.671.43,1.264.985,1.946,1.392a21.184,21.184,0,0,1,3.523,3.169c.15.142.434.142.52.326.482.578.973,1.149,1.445,1.736q.622.773,1.21,1.574c.242.329.468.672.679,1.022.375.624.738,1.257,1.1,1.889.392.689.787,1.377,1.159,2.076.335.631.616,1.292.968,1.913s.78,1.17,1.121,1.782c.381.684.691,1.407,1.048,2.1.382.745.788,1.477,1.174,2.221.256.493.492,1,.739,1.494.345.695.683,1.394,1.042,2.082.379.725.78,1.439,1.17,2.158.263.484.529.967.784,1.456.309.591.6,1.189.911,1.781.439.845.87,1.694,1.331,2.527.351.635.759,1.238,1.114,1.871.337.6.64,1.225.953,1.841.323.635.629,1.279.96,1.909.754,1.437,1.533,2.862,2.271,4.307.366.717.644,1.479,1,2.2.253.512.568.994.862,1.485.234.39.5.761.718,1.161.712,1.323,1.419,2.65,2.1,3.988.355.7.642,1.428.989,2.129.224.451.51.871.752,1.314.12.22.2.459.3.69.264.608.517,1.222.8,1.823.329.71.681,1.411,1.024,2.115.322.66.626,1.33.973,1.977a19.682,19.682,0,0,0,1.607,2.8c.7.9.61,2.186,1.571,2.914-.125.994.859,1.505,1.04,2.4a6.216,6.216,0,0,0,.926,1.6c.3.518.57,1.051.93,1.719.188-.087.445-.218.711-.325a1.153,1.153,0,0,1,.464-.1,3.513,3.513,0,0,0,2.156-.8c1.011-.67,2.1-1.221,3.128-1.866a14.624,14.624,0,0,0,2.193-1.549c1.631-1.506,3.254-3.03,4.761-4.657a10.073,10.073,0,0,0,2.119-2.784,10.5,10.5,0,0,1,.967-1.334,18,18,0,0,0,1.082-1.887c.532-1.109,1.025-2.238,1.5-3.373a12.411,12.411,0,0,0,.467-1.481c.328-1.178.655-2.356.958-3.539.169-.659.271-1.335.434-1.995.224-.912.508-1.809.706-2.726.1-.459.028-.952.095-1.421a54.43,54.43,0,0,0,.517-6.861,23.07,23.07,0,0,1,.454-3.073c.55,0,1.162-.008,1.773,0a34.859,34.859,0,0,1,4.633.12c3.237.49,6.487.183,9.725.375a.7.7,0,0,1,.582,1.083,1.2,1.2,0,0,0-.064.486c-.038,1.617-.025,3.237-.118,4.851a22.316,22.316,0,0,1-.492,4.42c-.252.95-.177,1.881-.343,2.807-.17.948-.291,1.9-.462,2.852a17.355,17.355,0,0,1-.434,1.926c-.352,1.17-.779,2.318-1.123,3.491-.171.582-.156,1.222-.35,1.793-.364,1.068-.826,2.1-1.234,3.155-.185.479-.3.989-.514,1.451-.506,1.082-1.062,2.14-1.583,3.215-.351.724-.648,1.475-1.024,2.185a8.4,8.4,0,0,1-1.033,1.583,6.469,6.469,0,0,0-1.144,1.771c-.119.286-.469.466-.664.732-.878,1.193-1.69,2.437-2.619,3.588a27.966,27.966,0,0,1-2.292,2.37,36.861,36.861,0,0,1-3.3,3.067,21.88,21.88,0,0,0-1.808,1.443,18.383,18.383,0,0,1-1.672,1.323c-.42.311-.861.593-1.3.878-.764.5-1.534.985-2.3,1.477-.292.187-.576.39-.88.555-.768.418-1.546.817-2.317,1.228s-1.511.838-2.282,1.224c-.7.35-1.425.646-2.132.978s-1.4.678-2.1,1.014c-.174.083-.356.15-.533.228-.547.24-1.09.489-1.641.72-.5.208-.992.414-1.5.589-.934.321-1.878.616-2.816.928-1.277.424-2.561.828-3.826,1.285-.955.345-1.885.76-2.827,1.141a.744.744,0,0,1-.141.021c-1.5.28-3.01.528-4.5.853-.756.165-1.482.467-2.221.707a.57.57,0,0,1-.07.012c-.97.179-1.945.334-2.908.545s-1.909.48-2.863.722c-.069.017-.141.021-.211.033l-2.349.38c-.48.832-.836,1.5-1.242,2.143-.43.677-.908,1.323-1.363,1.984-.333.483-.661.968-.993,1.451-.423.616-.824,1.25-1.279,1.841-.38.494-.854.915-1.231,1.41-.613.805-1.154,1.665-1.775,2.464-.411.529-.939.966-1.36,1.489-.8.989-1.555,2.01-2.327,3.02-.041.053-.047.153-.095.176-1.021.482-1.417,1.585-2.267,2.258a26.9,26.9,0,0,0-2.3,2.289c-1.179,1.192-2.312,2.436-3.556,3.555-.776.7-1.739,1.186-2.584,1.814-.5.367-.876.9-1.395,1.222a19.6,19.6,0,0,1-2.423,1.729,14.1,14.1,0,0,0-1.947,1.392c-.835.553-1.7,1.06-2.564,1.571-.664.394-1.326.8-2.017,1.138-.651.321-1.343.559-2.011.847-.933.4-1.849.843-2.793,1.216-.586.232-1.212.363-1.815.554-.425.135-.844.29-1.263.443-.309.113-.606.26-.92.354-.922.276-1.851.533-2.777.8a.644.644,0,0,1-.07.012c-.879.156-1.76.305-2.638.469a31.416,31.416,0,0,1-6,.516c-.551,0-1.108.288-1.655.266a66.054,66.054,0,0,1-6.926-.459c-1-.148-2.016-.191-3.013-.363-.835-.144-1.674-.269-2.5-.449-1.17-.254-2.334-.539-3.495-.832-1.048-.264-2.1-.528-3.132-.844-.61-.187-1.183-.49-1.783-.713a13.275,13.275,0,0,0-1.479-.468c-1.207-.293-2.426-.544-3.632-.841-.387-.1-.924-.183-1.082-.454a1.95,1.95,0,0,1-.093-1.328c.142-.569.514-1.076.7-1.639.363-1.115.612-2.269,1.007-3.371.294-.82.762-1.575,1.118-2.374a10.745,10.745,0,0,0,.454-1.336c.186-.632.309-1.285.532-1.9.322-.892.72-1.757,1.062-2.642a5.27,5.27,0,0,0,.173-.815c.146-.69.552-.835,1.192-.6,1.012.377,2.064.644,3.091.983.63.208,1.243.467,1.864.7a1.05,1.05,0,0,0,.27.065,7.671,7.671,0,0,1,2.844.841.746.746,0,0,0,.281.026,10.44,10.44,0,0,1,3.416.833.517.517,0,0,0,.141.014,43.808,43.808,0,0,1,5.13.593,18.038,18.038,0,0,0,4.449.238,33.427,33.427,0,0,0,4.5-.426,23.4,23.4,0,0,0,3.349-.844c1.17-.365,2.329-.785,3.457-1.265.721-.307,1.34-.871,2.072-1.125a4.9,4.9,0,0,0,1.662-.84.721.721,0,0,0,.182-.983c-.47-1.088-1.078-2.117-1.545-3.206-.4-.928-.662-1.912-1-2.866-.08-.224-.255-.414-.34-.636-.474-1.234-.9-2.488-1.412-3.705-.3-.7-.758-1.336-1.086-2.029-.22-.464-.318-.985-.5-1.467-.265-.685-.578-1.351-.839-2.036-.567-1.49-1.092-3-1.675-4.478-.347-.884-.784-1.732-1.154-2.608-.211-.5-.315-1.048-.559-1.527a25.187,25.187,0,0,0-1.536-3.446,7.633,7.633,0,0,1-.565-1.515c-.388-.937-.823-1.854-1.2-2.8-.219-.544-.329-1.133-.551-1.676-.358-.876-.781-1.725-1.151-2.6a17.58,17.58,0,0,0-.97-2.355c-.428-.7-.351-1.6-1.1-2.2-.353-.283-.282-1.058-.485-1.578-.19-.488-.5-.929-.736-1.4-.321-.629-.621-1.268-.942-1.9-.381-.746-.781-1.481-1.16-2.227-.334-.657-.649-1.324-.977-1.983-.117-.236-.256-.461-.372-.7-.163-.331-.3-.679-.474-1q-.686-1.255-1.4-2.492c-.2-.337-.457-.638-.641-.98-.483-.9-.918-1.824-1.412-2.717-.612-1.108-1.277-2.188-1.894-3.294-.348-.623-.62-1.289-.971-1.91-.334-.59-.762-1.128-1.087-1.723-.385-.7-.7-1.45-1.055-2.17s-.738-1.4-1.083-2.115c-.214-.442-.381-.905-.565-1.361-.267-.659-.541-1.316-.794-1.981-.167-.44-.313-.888-.449-1.338-.171-.564-.343-1.128-.48-1.7-.278-1.163-.564-2.326-.782-3.5a9.3,9.3,0,0,1-.076-1.709,59.873,59.873,0,0,1,.1-6.627,8.436,8.436,0,0,1,1.074-3.936,3.461,3.461,0,0,0,.448-1.4,9.245,9.245,0,0,1,1.239-2.87c.227-.435.321-.936.522-1.386.534-1.2,1.11-2.373,1.635-3.573a9.538,9.538,0,0,0,.473-1.479,21.61,21.61,0,0,1,.551-2.334,11.031,11.031,0,0,0,.3-4.856,5.538,5.538,0,0,0-.634-1.646c-.14-.323-.353-.615-.482-.941A16.158,16.158,0,0,0,24.7,54.57c-.387-.732-.878-1.409-1.319-2.112a.323.323,0,0,1-.011-.171c.009-.171.1-.405.022-.5-.771-.948-.973-2.249-1.918-3.091-.1-.087-.051-.321-.11-.471a7.187,7.187,0,0,0-.414-.9c-.3-.527-.647-1.028-.932-1.563-.082-.153.039-.41-.032-.575-.293-.677-.62-1.339-.944-2-.344-.7-.692-1.406-1.052-2.1a4.609,4.609,0,0,0-.379-.544c-.488-.68-.274-1.128.575-1.314a9.635,9.635,0,0,0,1.47-.493c.048-.019.046-.388-.01-.412-.455-.193-.934-.325-1.394-.508-.925-.368-1.838-.765-2.764-1.132-.481-.191-.977-.344-1.467-.514a4.107,4.107,0,0,0-1.271-.412c-1.149.022-1.251-.876-1.6-1.6s-.759-1.422-1.161-2.121c-.386-.67-.814-1.315-1.191-1.99-.475-.853-.9-1.736-1.38-2.584-.305-.536-.7-1.019-1.023-1.546C6.01,25.28,5.673,24.628,5.3,24c-.191-.322-.432-.614-.625-.935-.362-.6-.7-1.223-1.058-1.83-.245-.417-.517-.82-.756-1.24-.34-.6-.657-1.209-.992-1.81C1.415,17.37.947,16.565.495,15.751A7.678,7.678,0,0,1,0,14.724c-.019-.051.223-.283.356-.294a3.92,3.92,0,0,0,1.7-.759,11.3,11.3,0,0,1,1.525-.554c.94-.391,1.858-.833,2.8-1.222.5-.207,1.04-.32,1.542-.525.9-.368,1.78-.78,2.673-1.161.476-.2.967-.372,1.444-.573.736-.311,1.466-.636,2.2-.954.2-.086.4-.169.594-.255q.79-.344,1.578-.69c.079-.035.147-.1.228-.123A14.7,14.7,0,0,0,19.564,6.6a14.737,14.737,0,0,1,2.907-1.1c.868-.3,1.667-.793,2.513-1.163.473-.207.994-.3,1.469-.507.874-.372,1.723-.8,2.6-1.175.492-.211,1.018-.342,1.513-.546.921-.379,1.825-.8,2.749-1.175.545-.22,1.116-.376,1.675-.564a.95.95,0,0,0,.375-.149c.4-.409.569-.2.719.221.38,1.067.81,2.118,1.159,3.194.193.6.2,1.253.4,1.846.353,1.053.809,2.072,1.179,3.12.219.621.333,1.278.538,1.9s.474,1.239.7,1.862q.275.765.512,1.543c.326,1.07.616,2.152.971,3.212.189.563.564,1.07.7,1.639a1.9,1.9,0,0,1-.185,1.8,3.267,3.267,0,0,0-.522,1.588,10.289,10.289,0,0,1-1.242,3.457,10.858,10.858,0,0,0-.521,1.989M70,81.91c.227-.077.528-.086.6-.222a5.645,5.645,0,0,0,.878-1.86,5.735,5.735,0,0,0-.282-3.49,3.778,3.778,0,0,0-3.049-2.118,63.3,63.3,0,0,0-6.9-.069.937.937,0,0,0-.282.029c-.765.247-1.525.51-2.292.75-1.036.323-2.1.561-3.109.958-1.368.541-2.69,1.2-4.033,1.8a6.311,6.311,0,0,0-.813.345c-.955.606-1.909,1.217-2.836,1.867a20.913,20.913,0,0,0-2.083,1.619c-.606.551-1.1,1.228-1.685,1.8a15.277,15.277,0,0,0-2.574,3.462c-.407.715-.642,1.527-.979,2.285a4.587,4.587,0,0,0-.5,2.8c.2,1.189,1.138,1.732,1.731,2.557.646.9,1.669,1.428,2.4,2.328.669.825,1.2,1.9,2.242,2.415.049.024.07.115.092.18.472,1.413,1.623,2.381,2.371,3.616.416.687.982,1.281,1.423,1.955.6.912,1.136,1.861,1.7,2.793.424.7.868,1.392,1.266,2.107.334.6.609,1.232.919,1.846s.643,1.223.951,1.841c.479.961.967,1.919,1.407,2.9.231.513.342,1.078.549,1.6.506,1.282,1.087,2.536,1.543,3.835.381,1.087.646,2.216.928,3.335.2.774.332,1.563.5,2.345a2.685,2.685,0,0,0,.082.266c.256.789.52,1.575.765,2.367.18.582.315,1.178.506,1.756.2.608.5,1.189.656,1.806.231.888.378,1.8.564,2.7a1.28,1.28,0,0,0,.083.189c.241.623.509,1.237.712,1.872s.3,1.289.5,1.915c.462,1.411.978,2.8,1.442,4.214.213.648.344,1.322.536,1.977a12.81,12.81,0,0,0,.483,1.406c.383.9.811,1.783,1.2,2.684.194.455.2,1.086.526,1.369.772.673.739,1.671,1.205,2.457.4.674.709.82,1.236.271a47.435,47.435,0,0,0,4.791-5.665c.857-1.232,1.806-2.4,2.689-3.614a13.778,13.778,0,0,0,1.01-1.615c.379-.71.658-1.474,1.057-2.172a6.894,6.894,0,0,0,1.155-2.7,2.831,2.831,0,0,1,.167-.6,15.761,15.761,0,0,0,.607-1.829c.223-1.1.355-2.227.54-3.433.71.193,1.358.38,2.012.545a16.334,16.334,0,0,0,2.944.687,35.479,35.479,0,0,0,9.214-.308c1.221-.248,2.472-.35,3.71-.518a1,1,0,0,0,.141-.023c.949-.273,1.9-.531,2.845-.827.465-.146.907-.364,1.359-.549-.26-.255-.522-.509-.78-.766-.031-.031-.03-.093-.061-.125q-1.77-1.818-3.545-3.633-.955-.975-1.922-1.94c-1.034-1.032-2.074-2.058-3.108-3.09a14.756,14.756,0,0,1-1.062-1.108c-.709-.874-1.382-1.778-2.078-2.664-.559-.712-1.138-1.408-1.691-2.124s-1.078-1.463-1.637-2.178c-.273-.349-.636-.63-.888-.99-.515-.738-.932-1.547-1.48-2.257a18.113,18.113,0,0,1-2.068-2.971c-.157-.317-.358-.612-.541-.916-.622-1.028-1.26-2.047-1.862-3.088-.368-.636-.685-1.3-1.016-1.96-.387-.77-.789-1.535-1.138-2.323-.208-.47-.286-1-.5-1.467-.482-1.068-1.046-2.1-1.512-3.175-.5-1.147-.912-2.329-1.375-3.491a2.474,2.474,0,0,0-3.1-1.755,5.854,5.854,0,0,0-1.123.442c-.846.378-1.671.81-2.536,1.14-.656.251-1.362.37-2.04.564-.477.137-.954.281-1.417.458-.952.365-1.878.81-2.847,1.118-1.12.356-2.274.607-3.416.891a33.6,33.6,0,0,1-3.5.822c-1.567.214-3.155.294-4.738.365a2.156,2.156,0,0,1-2.1-.9,3.226,3.226,0,0,1,.595-.928,23.42,23.42,0,0,1,2.163-1.4c.947-.564,1.915-1.093,2.874-1.638.269-.153.537-.307.808-.457q.947-.521,1.9-1.038c.137-.075.275-.148.417-.212.649-.293,1.3-.582,1.949-.875.344-.156.686-.317,1.029-.476a3.948,3.948,0,0,0,.412-.2,6.889,6.889,0,0,1,1.635-.984,10.877,10.877,0,0,0,2.981-1.806A20.9,20.9,0,0,0,68.3,83.88c.676-.533,1.484-.982,1.706-1.97" transform="translate(0 0)"/>
+    <path id="Path_534" data-name="Path 534" d="M289.131,546.074c.75-.279,1.383.2,2.05.526.115.056.211.171.329.2a34.875,34.875,0,0,0,8.418.5c.095,0,.19-.011.285-.02,1.62-.157,3.246-.264,4.855-.5a14.41,14.41,0,0,0,2.223-.7c.111-.036.237-.024.351-.055,1-.271,2-.549,3-.818.182-.049.384-.035.56-.1.62-.217,1.227-.475,1.851-.678.465-.151.955-.223,1.423-.366,1.011-.309,2.042-.577,3.014-.981,1.1-.456,2.127-1.064,3.2-1.566.51-.237,1.081-.341,1.591-.577.782-.361,1.533-.787,2.3-1.177.331-.168.671-.318,1.011-.467a2.2,2.2,0,0,1,.278-.052c.277-.078.553-.163.829-.245.04.328.093.654.117.983.154,2.072.31,4.145.448,6.218.11,1.652.173,3.308.3,4.959.1,1.339.282,2.672.385,4.01.06.78-.321,1.148-1.071,1.309a9.81,9.81,0,0,0-1.385.526l-.09.5c-.132-.071-.276-.216-.367-.188-.575.177-1.142.382-1.7.6s-1.107.456-1.661.683c-.348.143-.7.275-1.049.419-.96.4-1.915.807-2.881,1.188-.46.181-.938.318-1.413.454-.657.189-1.317.371-1.981.533-1.024.25-2.058.459-3.077.728-.955.252-1.89.58-2.844.835-.678.181-1.391.242-2.058.449a26.292,26.292,0,0,1-5.14.907c-.48.05-.959.746-1.31,1.237-.424.592-.642,1.333-1.073,1.919-.707.96-1.585,1.8-2.261,2.778a22.346,22.346,0,0,1-2.65,2.934,14.76,14.76,0,0,0-1.344,1.653,1.118,1.118,0,0,0-.143.491,7.872,7.872,0,0,0-.821.641c-1.237,1.3-2.423,2.642-3.7,3.9-1.163,1.144-2.416,2.2-3.632,3.287-.88.789-1.753,1.587-2.659,2.346a.724.724,0,0,1-.621-.033c-.612-.313-1.2-.671-1.794-1.02-.536-.315-1.062-.648-1.6-.962-.913-.535-1.838-1.05-2.745-1.594-.764-.458-1.507-.952-2.268-1.414-.245-.149-.534-.225-.78-.372-1.213-.727-2.41-1.481-3.632-2.193-.464-.271-.979-.455-1.627-.75,1.078-.907,2.106-1.775,3.139-2.638q3.01-2.514,5.813-5.254c.673-.657,1.435-1.26,2.086-1.966.959-1.041,1.931-2.071,2.866-3.133.63-.716,1.234-1.46,1.8-2.228.42-.572.748-1.212,1.138-1.808.439-.671.928-1.311,1.348-1.993s.807-1.417,1.19-2.137.763-1.447,1.111-2.187c.228-.483.38-1,.6-1.492a10.8,10.8,0,0,0,.953-3.608,17.7,17.7,0,0,1,.524-2.442" transform="translate(-190.393 -384.975)"/>
+  </g>
+</svg>
diff --git a/shared/static/shared/js/vue-formulate-helper.js b/shared/static/shared/js/vue-formulate-helper.js
index e7fc14fd45be20112447aa85e4dd59991567a43a..091453405e412a383a6197b453095c4f387665a9 100644
--- a/shared/static/shared/js/vue-formulate-helper.js
+++ b/shared/static/shared/js/vue-formulate-helper.js
@@ -3,17 +3,15 @@ Vue.use(VueFormulate, {
   locale: "cs",
 });
 
-Vue.use(Vue.component("MailtrainFormContainer", {
-    props: {
-        url: String,
+new Vue({
+  el: ".mailtrain-form-container",
+  props: {
+    url: String,
+  },
+  methods: {
+    onSubmit(...data) {
+      // Intl.DateTimeFormat().resolvedOptions().timeZone)
+      console.log(this, ...data);
     },
-    methods: {
-        onSubmit(...data) {
-            // Intl.DateTimeFormat().resolvedOptions().timeZone)
-            console.log(this, ...data);
-        },
-    },
-    render(createElement) {
-        return createElement("div", {}, this.$slots.default);
-    }
-}))
+  },
+});
diff --git a/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js b/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..c42f5924e9e5e6e857465bdb0c0adeb779c3cd71
--- /dev/null
+++ b/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js
@@ -0,0 +1,14 @@
+var VueFormulate=function(){"use strict";var t=function(t,e){return{classification:t,component:"FormulateInput"+(e||t[0].toUpperCase()+t.substr(1))}},e=Object.assign({},["text","email","number","color","date","hidden","month","password","search","tel","time","url","week","datetime-local"].reduce((function(e,r){var o;return Object.assign({},e,((o={})[r]=t("text"),o))}),{}),{range:t("slider"),textarea:t("textarea","TextArea"),checkbox:t("box"),radio:t("box"),submit:t("button"),button:t("button"),select:t("select"),file:t("file"),image:t("file"),group:t("group")});function r(t,e){var r={};for(var o in t)r[o]=e(o,t[o]);return r}function o(t,e,r){if(void 0===r&&(r=!1),t===e)return!0;if(!t||!e)return!1;if("object"!=typeof t&&"object"!=typeof e)return t===e;var i=Object.keys(t),n=Object.keys(e),s=i.length;if(n.length!==s)return!1;for(var a=0;a<s;a++){var l=i[a];if(!r&&t[l]!==e[l]||r&&!o(t[l],e[l],r))return!1}return!0}function i(t){return"string"==typeof t?t.replace(/([_-][a-z0-9])/gi,(function(e){return 0===t.indexOf(e)||/[_-]/.test(t[t.indexOf(e)-1])?e:e.toUpperCase().replace(/[_-]/,"")})):t}function n(t){return"string"==typeof t?t[0].toUpperCase()+t.substr(1):t}function s(t){return t?"string"==typeof t?[t]:Array.isArray(t)?t:"object"==typeof t?Object.values(t):[]:[]}function a(t,e){return"string"==typeof t?a(t.split("|"),e):Array.isArray(t)?t.map((function(t){return function(t,e){if("function"==typeof t)return[t,[]];if(Array.isArray(t)&&t.length){var r=l((t=t.map((function(t){return t}))).shift()),o=r[0],i=r[1];if("string"==typeof o&&e.hasOwnProperty(o))return[e[o],t,o,i];if("function"==typeof o)return[o,t,o,i]}if("string"==typeof t&&t){var n=t.split(":"),s=l(n.shift()),a=s[0],u=s[1];if(e.hasOwnProperty(a))return[e[a],n.length?n.join(":").split(","):[],a,u];throw new Error("Unknown validation rule "+t)}return!1}(t,e)})).filter((function(t){return!!t})):[]}function l(t){return/^[\^]/.test(t.charAt(0))?[i(t.substr(1)),t.charAt(0)]:[i(t),null]}function u(t){switch(typeof t){case"symbol":case"number":case"string":case"boolean":case"undefined":return!0;default:return null===t}}function c(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){return!c(t,"__id")||e?Object.defineProperty(t,"__id",Object.assign(Object.create(null),{value:e||f(9)})):t}function p(t){return"number"!=typeof t&&(void 0===t||""===t||null===t||!1===t||Array.isArray(t)&&!t.some((function(t){return!p(t)}))||t&&!Array.isArray(t)&&"object"==typeof t&&p(Object.values(t)))}function h(t,e){return Object.keys(t).reduce((function(r,o){var n=i(o);return e.includes(n)&&(r[n]=t[o]),r}),{})}function f(t){return void 0===t&&(t=13),Math.random().toString(36).substring(2,t+2)}var m=/^(?:\w+:)?\/\/(\S+)$/,v=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,y=/^[^\s.]+\.\S{2,}$/;var x=function(t,e,r){void 0===r&&(r={}),this.input=t,this.fileList=t.files,this.files=[],this.options=Object.assign({},{mimes:{}},r),this.results=!1,this.context=e,this.dataTransferCheck(),e&&e.uploadUrl&&(this.options.uploadUrl=e.uploadUrl),this.uploadPromise=null,Array.isArray(this.fileList)?this.rehydrateFileList(this.fileList):this.addFileList(this.fileList)};x.prototype.rehydrateFileList=function(t){var e=this,r=t.reduce((function(t,r){var o=r[e.options?e.options.fileUrlKey:"url"],i=!(!o||-1===o.lastIndexOf("."))&&o.substr(o.lastIndexOf(".")+1),n=e.options.mimes[i]||!1;return t.push(Object.assign({},r,o?{name:r.name||o.substr(o.lastIndexOf("/")+1||0),type:r.type?r.type:n,previewData:o}:{})),t}),[]);this.addFileList(r),this.results=this.mapUUID(t)},x.prototype.addFileList=function(t){for(var e=this,r=function(r){var o=t[r],i=f();e.files.push({progress:!1,error:!1,complete:!1,justFinished:!1,name:o.name||"file-upload",file:o,uuid:i,path:!1,removeFile:function(){this.removeFile(i)}.bind(e),previewData:o.previewData||!1})},o=0;o<t.length;o++)r(o)},x.prototype.hasUploader=function(){return!!this.context.uploader},x.prototype.uploaderIsAxios=function(){return!(!this.hasUploader()||"function"!=typeof this.context.uploader.request||"function"!=typeof this.context.uploader.get||"function"!=typeof this.context.uploader.delete||"function"!=typeof this.context.uploader.post)},x.prototype.getUploader=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(this.uploaderIsAxios()){var o=new FormData;if(o.append(this.context.name||"file",e[0]),!1===this.context.uploadUrl)throw new Error("No uploadURL specified: https://vueformulate.com/guide/inputs/file/#props");return this.context.uploader.post(this.context.uploadUrl,o,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(t){e[1](Math.round(100*t.loaded/t.total))}}).then((function(t){return t.data})).catch((function(t){return e[2](t)}))}return(t=this.context).uploader.apply(t,e)},x.prototype.upload=function(){var t=this;return this.uploadPromise=this.uploadPromise?this.uploadPromise.then((function(){return t.__performUpload()})):this.__performUpload(),this.uploadPromise},x.prototype.__performUpload=function(){var t=this;return new Promise((function(e,r){if(!t.hasUploader())return r(new Error("No uploader has been defined"));Promise.all(t.files.map((function(e){return e.error=!1,e.complete=!!e.path,e.path?Promise.resolve(e.path):t.getUploader(e.file,(function(r){e.progress=r,t.context.rootEmit("file-upload-progress",r),r>=100&&(e.complete||(e.justFinished=!0,setTimeout((function(){e.justFinished=!1}),t.options.uploadJustCompleteDuration)),e.complete=!0,t.context.rootEmit("file-upload-complete",e))}),(function(o){e.progress=0,e.error=o,e.complete=!0,t.context.rootEmit("file-upload-error",o),r(o)}),t.options)}))).then((function(r){t.results=t.mapUUID(r),e(r)})).catch((function(t){throw new Error(t)}))}))},x.prototype.removeFile=function(t){var e=this.files.length;if(this.files=this.files.filter((function(e){return e&&e.uuid!==t})),Array.isArray(this.results)&&(this.results=this.results.filter((function(e){return e&&e.__id!==t}))),this.context.performValidation(),window&&this.fileList instanceof FileList&&this.supportsDataTransfers){var r=new DataTransfer;this.files.forEach((function(t){return r.items.add(t.file)})),this.fileList=r.files,this.input.files=this.fileList}else this.fileList=this.fileList.filter((function(e){return e&&e.__id!==t}));e>this.files.length&&this.context.rootEmit("file-removed",this.files)},x.prototype.mergeFileList=function(t){if(this.addFileList(t.files),this.supportsDataTransfers){var e=new DataTransfer;this.files.forEach((function(t){t.file instanceof File&&e.items.add(t.file)})),this.fileList=e.files,this.input.files=this.fileList,t.files=(new DataTransfer).files}this.context.performValidation(),this.loadPreviews(),"delayed"!==this.context.uploadBehavior&&this.upload()},x.prototype.loadPreviews=function(){this.files.map((function(t){if(!t.previewData&&window&&window.FileReader&&/^image\//.test(t.file.type)){var e=new FileReader;e.onload=function(e){return Object.assign(t,{previewData:e.target.result})},e.readAsDataURL(t.file)}}))},x.prototype.dataTransferCheck=function(){try{new DataTransfer,this.supportsDataTransfers=!0}catch(t){this.supportsDataTransfers=!1}},x.prototype.getFiles=function(){return this.files},x.prototype.mapUUID=function(t){var e=this;return t.map((function(t,r){return e.files[r].path=void 0!==t&&t,t&&d(t,e.files[r].uuid)}))},x.prototype.toString=function(){var t=this.files.length?this.files.length+" files":"empty";return this.results?JSON.stringify(this.results,null,"  "):"FileUpload("+t+")"};var g,b={accepted:function(t){var e=t.value;return Promise.resolve(["yes","on","1",1,!0,"true"].includes(e))},after:function(t,e){var r=t.value;void 0===e&&(e=!1);var o=Date.parse(e||new Date),i=Date.parse(r);return Promise.resolve(!isNaN(i)&&i>o)},alpha:function(t,e){var r=t.value;void 0===e&&(e="default");var o={default:/^[a-zA-ZÀ-ÖØ-öø-ÿĄąĆćĘꣳŃńŚśŹźŻż]+$/,latin:/^[a-zA-Z]+$/},i=o.hasOwnProperty(e)?e:"default";return Promise.resolve(o[i].test(r))},alphanumeric:function(t,e){var r=t.value;void 0===e&&(e="default");var o={default:/^[a-zA-Z0-9À-ÖØ-öø-ÿĄąĆćĘꣳŃńŚśŹźŻż]+$/,latin:/^[a-zA-Z0-9]+$/},i=o.hasOwnProperty(e)?e:"default";return Promise.resolve(o[i].test(r))},before:function(t,e){var r=t.value;void 0===e&&(e=!1);var o=Date.parse(e||new Date),i=Date.parse(r);return Promise.resolve(!isNaN(i)&&i<o)},between:function(t,e,r,o){var i=t.value;return void 0===e&&(e=0),void 0===r&&(r=10),Promise.resolve(null!==e&&null!==r&&!isNaN(e)&&!isNaN(r)&&(!isNaN(i)&&"length"!==o||"value"===o?(i=Number(i),e=Number(e),r=Number(r),i>e&&i<r):("string"==typeof i||"length"===o)&&(i=isNaN(i)?i:i.toString()).length>e&&i.length<r))},confirm:function(t,e){var r,o,i=t.value,n=t.getGroupValues,s=t.name;return Promise.resolve((r=n(),(o=e)||(o=/_confirm$/.test(s)?s.substr(0,s.length-8):s+"_confirm"),r[o]===i))},date:function(t,e){var r=t.value;return void 0===e&&(e=!1),Promise.resolve(e&&"string"==typeof e?function(t){var e="^"+t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$",r={MM:"(0[1-9]|1[012])",M:"([1-9]|1[012])",DD:"([012][0-9]|3[01])",D:"([012]?[0-9]|3[01])",YYYY:"\\d{4}",YY:"\\d{2}"};return new RegExp(Object.keys(r).reduce((function(t,e){return t.replace(e,r[e])}),e))}(e).test(r):!isNaN(Date.parse(r)))},email:function(t){var e=t.value;return Promise.resolve(/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(e))},endsWith:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve("string"==typeof e&&r.length?void 0!==r.find((function(t){return e.endsWith(t)})):"string"==typeof e&&0===r.length)},in:function(t){for(var e=t.value,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return Promise.resolve(void 0!==r.find((function(t){return"object"==typeof t?o(t,e):t===e})))},matches:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(!!r.find((function(t){return"string"==typeof t&&"/"===t.substr(0,1)&&"/"===t.substr(-1)&&(t=new RegExp(t.substr(1,t.length-2))),t instanceof RegExp?t.test(e):t===e})))},mime:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(function(){if(e instanceof x)for(var t=e.getFiles(),o=0;o<t.length;o++){var i=t[o].file;if(!r.includes(i.type))return!1}return!0}())},min:function(t,e,r){var o=t.value;return void 0===e&&(e=1),Promise.resolve(Array.isArray(o)?(e=isNaN(e)?e:Number(e),o.length>=e):!isNaN(o)&&"length"!==r||"value"===r?(o=isNaN(o)?o:Number(o))>=e:("string"==typeof o||"length"===r)&&(o=isNaN(o)?o:o.toString()).length>=e)},max:function(t,e,r){var o=t.value;return void 0===e&&(e=10),Promise.resolve(Array.isArray(o)?(e=isNaN(e)?e:Number(e),o.length<=e):!isNaN(o)&&"length"!==r||"value"===r?(o=isNaN(o)?o:Number(o))<=e:("string"==typeof o||"length"===r)&&(o=isNaN(o)?o:o.toString()).length<=e)},not:function(t){for(var e=t.value,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return Promise.resolve(void 0===r.find((function(t){return"object"==typeof t?o(t,e):t===e})))},number:function(t){var e=t.value;return Promise.resolve(!isNaN(e))},required:function(t,e){var r=t.value;return void 0===e&&(e="pre"),Promise.resolve(Array.isArray(r)?!!r.length:r instanceof x?r.getFiles().length>0:"string"==typeof r?"trim"===e?!!r.trim():!!r:"object"!=typeof r||!!r&&!!Object.keys(r).length)},startsWith:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve("string"==typeof e&&r.length?void 0!==r.find((function(t){return e.startsWith(t)})):"string"==typeof e&&0===r.length)},url:function(t){var e=t.value;return Promise.resolve(function(t){if("string"!=typeof t)return!1;var e=t.match(m);if(!e)return!1;var r=e[1];return!!r&&!(!v.test(r)&&!y.test(r))}(e))},bail:function(){return Promise.resolve(!0)},optional:function(t){var e=t.value;return Promise.resolve(!p(e))}},E="image/",_={csv:"text/csv",gif:E+"gif",jpg:E+"jpeg",jpeg:E+"jpeg",png:E+"png",pdf:"application/pdf",svg:E+"svg+xml"},F=["outer","wrapper","label","element","input","help","errors","error","decorator","rangeValue","uploadArea","uploadAreaMask","files","file","fileName","fileAdd","fileAddInput","fileRemove","fileProgress","fileUploadError","fileImagePreview","fileImagePreviewImage","fileProgressInner","grouping","groupRepeatable","groupRepeatableRemove","groupAddMore","form","formErrors","formError"],w={hasErrors:function(t){return t.hasErrors},hasValue:function(t){return t.hasValue},isValid:function(t){return t.isValid}},O=function(t,e,r){var o=[];switch(e){case"label":o.push(t+"--"+r.labelPosition);break;case"element":var i="group"===r.classification?"group":r.type;o.push(t+"--"+i),"group"===i&&o.push("formulate-input-group");break;case"help":o.push(t+"--"+r.helpPosition);break;case"form":r.name&&o.push(t+"--"+r.name)}return o},P=(g=[""].concat(Object.keys(w).map((function(t){return n(t)}))),F.reduce((function(t,e){return t.concat(g.reduce((function(t,r){return t.push(""+e+r+"Class"),t}),[]))}),[]));function A(t,e,r){switch(typeof e){case"string":return e;case"function":return e(r,s(t));case"object":if(Array.isArray(e))return s(t).concat(e);default:return t}}function V(t){return F.reduce((function(e,r){var o;return Object.assign(e,((o={})[r]=function(t,e){var r=t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()})),o="formulate"+(["form","file"].includes(r.substr(0,4))?"":"-input")+(["decorator","range-value"].includes(r)?"-element":"")+("outer"!==r?"-"+r:"");return"input"===r?[]:[o].concat(O(o,t,e))}(r,t),o))}),{})}
+/*!
+   * isobject <https://github.com/jonschlinkert/isobject>
+   *
+   * Copyright (c) 2014-2017, Jon Schlinkert.
+   * Released under the MIT License.
+   */
+/*!
+   * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
+   *
+   * Copyright (c) 2014-2017, Jon Schlinkert.
+   * Released under the MIT License.
+   */
+function S(t){return!0==(null!=(e=t)&&"object"==typeof e&&!1===Array.isArray(e))&&"[object Object]"===Object.prototype.toString.call(t);var e}function j(t){var e,r;return!1!==S(t)&&("function"==typeof(e=t.constructor)&&(!1!==S(r=e.prototype)&&!1!==r.hasOwnProperty("isPrototypeOf")))}function $(t){return"string"==typeof t?t[0].toUpperCase()+t.substr(1):t}var C={accepted:function(t){return"Please accept the "+t.name+"."},after:function(t){var e=t.name,r=t.args;return Array.isArray(r)&&r.length?$(e)+" must be after "+r[0]+".":$(e)+" must be a later date."},alpha:function(t){return $(t.name)+" can only contain alphabetical characters."},alphanumeric:function(t){return $(t.name)+" can only contain letters and numbers."},before:function(t){var e=t.name,r=t.args;return Array.isArray(r)&&r.length?$(e)+" must be before "+r[0]+".":$(e)+" must be an earlier date."},between:function(t){var e=t.name,r=t.value,o=t.args,i=!(!Array.isArray(o)||!o[2])&&o[2];return!isNaN(r)&&"length"!==i||"value"===i?$(e)+" must be between "+o[0]+" and "+o[1]+".":$(e)+" must be between "+o[0]+" and "+o[1]+" characters long."},confirm:function(t){var e=t.name;return t.args,$(e)+" does not match."},date:function(t){var e=t.name,r=t.args;return Array.isArray(r)&&r.length?$(e)+" is not a valid date, please use the format "+r[0]:$(e)+" is not a valid date."},default:function(t){return t.name,"This field isn’t valid."},email:function(t){t.name;var e=t.value;return e?"“"+e+"” is not a valid email address.":"Please enter a valid email address."},endsWith:function(t){t.name;var e=t.value;return e?"“"+e+"” doesn’t end with a valid value.":"This field doesn’t end with a valid value."},in:function(t){var e=t.name,r=t.value;return"string"==typeof r&&r?"“"+$(r)+"” is not an allowed "+e+".":"This is not an allowed "+e+"."},matches:function(t){return $(t.name)+" is not an allowed value."},max:function(t){var e=t.name,r=t.value,o=t.args;if(Array.isArray(r))return"You may only select "+o[0]+" "+e+".";var i=!(!Array.isArray(o)||!o[1])&&o[1];return!isNaN(r)&&"length"!==i||"value"===i?$(e)+" must be less than or equal to "+o[0]+".":$(e)+" must be less than or equal to "+o[0]+" characters long."},mime:function(t){var e=t.name,r=t.args;return $(e)+" must be of the type: "+(r[0]||"No file formats allowed.")},min:function(t){var e=t.name,r=t.value,o=t.args;if(Array.isArray(r))return"You need at least "+o[0]+" "+e+".";var i=!(!Array.isArray(o)||!o[1])&&o[1];return!isNaN(r)&&"length"!==i||"value"===i?$(e)+" must be at least "+o[0]+".":$(e)+" must be at least "+o[0]+" characters long."},not:function(t){var e=t.name;return"“"+t.value+"” is not an allowed "+e+"."},number:function(t){return $(t.name)+" must be a number."},required:function(t){return $(t.name)+" is required."},startsWith:function(t){t.name;var e=t.value;return e?"“"+e+"” doesn’t start with a valid value.":"This field doesn’t start with a valid value."},url:function(t){return t.name,"Please include a valid url."}};function k(t){var e;t.extend({locales:(e={},e.en=C,e)})}function I(t,e,r,o){return new Promise((function(r,i){var n=(o.fauxUploaderDuration||1500)*(.5+Math.random()),s=performance.now(),a=function(){return setTimeout((function(){var o=performance.now()-s,i=Math.min(100,Math.round(o/n*100));if(e(i),i>=100)return r({url:"http://via.placeholder.com/350x150.png",name:t.name});a()}),20)};a()}))}function R(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var D={inheritAttrs:!1,functional:!0,render:function(t,e){for(var r=e.props,o=e.data,i=e.parent,n=e.children,s=i,a=(r.name,r.forceWrap),l=r.context,u=R(r,["name","forceWrap","context"]);s&&"FormulateInput"!==s.$options.name;)s=s.$parent;if(!s)return null;if(s.$scopedSlots&&s.$scopedSlots[r.name])return s.$scopedSlots[r.name](Object.assign({},l,u));if(Array.isArray(n)&&(n.length>1||a&&n.length>0)){var c=o.attrs,d=(c.name,c.context,R(c,["name","context"]));return t("div",Object.assign({},o,{attrs:d}),n)}return Array.isArray(n)&&1===n.length?n[0]:null}};function L(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r={}),t&&"object"==typeof t&&!Array.isArray(t)){var o=t.children;void 0===o&&(o=null);var i=t.component;void 0===i&&(i="FormulateInput");var n=t.depth;void 0===n&&(n=1);var s=t.key;void 0===s&&(s=null);var a=function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["children","component","depth","key"]),l=a.class||{};delete a.class;var u={},d=Object.keys(a).reduce((function(t,e){var r;return/^@/.test(e)?Object.assign(t,((r={})[e.substr(1)]=a[e],r)):t}),{});Object.keys(d).forEach((function(t){delete a["@"+t],u[t]=function(t,e,r){return function(){for(var o,i,n=[],s=arguments.length;s--;)n[s]=arguments[s];return"function"==typeof e?e.call.apply(e,[this].concat(n)):"string"==typeof e&&c(r,e)?(o=r[e]).call.apply(o,[this].concat(n)):c(r,t)?(i=r[t]).call.apply(i,[this].concat(n)):void 0}}(t,d[t],r)}));var p="FormulateInput"===i?a.type||"text":i,h=a.name||p||"el";s||(s=a.id?a.id:"FormulateInput"!==i&&"string"==typeof o?p+"-"+function(t,e){void 0===e&&(e=0);for(var r=3735928559^e,o=1103547991^e,i=0,n=void 0;i<t.length;i++)n=t.charCodeAt(i),r=Math.imul(r^n,2654435761),o=Math.imul(o^n,1597334677);return r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),4294967296*(2097151&(o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909)))+(r>>>0)}(o):p+"-"+h+"-"+n+(a.name?"":"-"+e));var f=Array.isArray(o)?o.map((function(t){return Object.assign(t,{depth:n+1})})):o;return Object.assign({key:s,depth:n,attrs:a,component:i,class:l,on:u},f?{children:f}:{})}return null}var N={functional:!0,render:function(t,e){var r=e.props,o=e.listeners;return function t(e,r,o){return Array.isArray(r)?r.map((function(r,i){var n=L(r,i,o);return e(n.component,{attrs:n.attrs,class:n.class,key:n.key,on:n.on},n.children?t(e,n.children,o):null)})):r}(t,r.schema,o)}};function M(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var B=function(t){this.registry=new Map,this.errors={},this.ctx=t};function U(t){return new B(t).dataProps()}function G(t){return{hasInitialValue:function(){return this.formulateValue&&"object"==typeof this.formulateValue||this.values&&"object"==typeof this.values||this.isGrouping&&"object"==typeof this.context.model[this.index]},isVmodeled:function(){return!!(this.$options.propsData.hasOwnProperty("formulateValue")&&this._events&&Array.isArray(this._events.input)&&this._events.input.length)},initialValues:function(){return c(this.$options.propsData,"formulateValue")&&"object"==typeof this.formulateValue?Object.assign({},this.formulateValue):c(this.$options.propsData,"values")&&"object"==typeof this.values?Object.assign({},this.values):this.isGrouping&&"object"==typeof this.context.model[this.index]?this.context.model[this.index]:{}},mergedGroupErrors:function(){var t=this,e=/^([^.\d+].*?)\.(\d+\..+)$/;return Object.keys(this.mergedFieldErrors).filter((function(t){return e.test(t)})).reduce((function(r,o){var i,n=o.match(e),s=n[1],a=n[2];return r[s]||(r[s]={}),Object.assign(r[s],((i={})[a]=t.mergedFieldErrors[o],i)),r}),{})}}}function T(t){void 0===t&&(t=[]);var e={applyInitialValues:function(){this.hasInitialValue&&(this.proxy=Object.assign({},this.initialValues))},setFieldValue:function(t,e){var r;if(void 0===e){var o=this.proxy,i=(o[t],M(o,[String(t)]));this.proxy=i}else Object.assign(this.proxy,((r={})[t]=e,r));this.$emit("input",Object.assign({},this.proxy))},valueDeps:function(t){var e=this;return Object.keys(this.proxy).reduce((function(r,o){return Object.defineProperty(r,o,{enumerable:!0,get:function(){var r=e.registry.get(o);return e.deps.set(t,e.deps.get(t)||new Set),r&&(e.deps.set(r,e.deps.get(r)||new Set),e.deps.get(r).add(t.name)),e.deps.get(t).add(o),e.proxy[o]}})}),Object.create(null))},validateDeps:function(t){var e=this;this.deps.has(t)&&this.deps.get(t).forEach((function(t){return e.registry.has(t)&&e.registry.get(t).performValidation()}))},hasValidationErrors:function(){return Promise.all(this.registry.reduce((function(t,e,r){return t.push(e.performValidation()&&e.getValidationErrors()),t}),[])).then((function(t){return t.some((function(t){return t.hasErrors}))}))},showErrors:function(){this.childrenShouldShowErrors=!0,this.registry.map((function(t){t.formShouldShowErrors=!0}))},hideErrors:function(){this.childrenShouldShowErrors=!1,this.registry.map((function(t){t.formShouldShowErrors=!1,t.behavioralErrorVisibility=!1}))},setValues:function(t){var e=this;Array.from(new Set(Object.keys(t||{}).concat(Object.keys(this.proxy)))).forEach((function(r){var i=e.registry.has(r)&&e.registry.get(r),n=t?t[r]:void 0;i&&!o(i.proxy,n,!0)&&(i.context.model=n),o(n,e.proxy[r],!0)||e.setFieldValue(r,n)}))},updateValidation:function(t){c(this.registry.errors,t.name)&&(this.registry.errors[t.name]=t.hasErrors),this.$emit("validation",t)},addErrorObserver:function(t){this.errorObservers.find((function(e){return t.callback===e.callback}))||(this.errorObservers.push(t),"form"===t.type?t.callback(this.mergedFormErrors):"group"===t.type&&c(this.mergedGroupErrors,t.field)?t.callback(this.mergedGroupErrors[t.field]):c(this.mergedFieldErrors,t.field)&&t.callback(this.mergedFieldErrors[t.field]))},removeErrorObserver:function(t){this.errorObservers=this.errorObservers.filter((function(e){return e.callback!==t}))}};return Object.keys(e).reduce((function(r,o){var i;return t.includes(o)?r:Object.assign({},r,((i={})[o]=e[o],i))}),{})}function q(t,e){void 0===e&&(e=[]);var r={formulateSetter:t.setFieldValue,formulateRegister:t.register,formulateDeregister:t.deregister,formulateFieldValidation:t.updateValidation,getFormValues:t.valueDeps,getGroupValues:t.valueDeps,validateDependents:t.validateDeps,observeErrors:t.addErrorObserver,removeErrorObserver:t.removeErrorObserver};return Object.keys(r).filter((function(t){return!e.includes(t)})).reduce((function(t,e){var o;return Object.assign(t,((o={})[e]=r[e],o))}),{})}B.prototype.add=function(t,e){var r;return this.registry.set(t,e),this.errors=Object.assign({},this.errors,((r={})[t]=e.getErrorObject().hasErrors,r)),this},B.prototype.remove=function(t){this.ctx.deps.delete(this.registry.get(t)),this.ctx.deps.forEach((function(e){return e.delete(t)}));var e=this.ctx.keepModelData;!e&&this.registry.has(t)&&"inherit"!==this.registry.get(t).keepModelData&&(e=this.registry.get(t).keepModelData),this.ctx.preventCleanup&&(e=!0),this.registry.delete(t);var r=this.errors,o=(r[t],M(r,[String(t)]));if(this.errors=o,!e){var i=this.ctx.proxy,n=(i[t],M(i,[String(t)]));this.ctx.uuid&&d(n,this.ctx.uuid),this.ctx.proxy=n,this.ctx.$emit("input",this.ctx.proxy)}return this},B.prototype.has=function(t){return this.registry.has(t)},B.prototype.get=function(t){return this.registry.get(t)},B.prototype.map=function(t){var e={};return this.registry.forEach((function(r,o){var i;return Object.assign(e,((i={})[o]=t(r,o),i))})),e},B.prototype.keys=function(){return Array.from(this.registry.keys())},B.prototype.register=function(t,e){var r=this;if(c(e.$options.propsData,"ignored"))return!1;if(this.registry.has(t))return this.ctx.$nextTick((function(){return!r.registry.has(t)&&r.register(t,e)})),!1;this.add(t,e);var i=c(e.$options.propsData,"formulateValue"),n=c(e.$options.propsData,"value"),s=this.ctx.debounce||this.ctx.debounceDelay||this.ctx.context&&this.ctx.context.debounceDelay;s&&!c(e.$options.propsData,"debounce")&&(e.debounceDelay=s),i||!this.ctx.hasInitialValue||p(this.ctx.initialValues[t])?!i&&!n||o(e.proxy,this.ctx.initialValues[t],!0)||this.ctx.setFieldValue(t,e.proxy):e.context.model=this.ctx.initialValues[t],this.childrenShouldShowErrors&&(e.formShouldShowErrors=!0)},B.prototype.reduce=function(t,e){return this.registry.forEach((function(r,o){e=t(e,r,o)})),e},B.prototype.dataProps=function(){var t=this;return{proxy:{},registry:this,register:this.register.bind(this),deregister:function(e){return t.remove(e)},childrenShouldShowErrors:!1,errorObservers:[],deps:new Map,preventCleanup:!1}};var H=function(t){this.form=t};function W(t,e,r,o,i,n,s,a,l,u){"boolean"!=typeof s&&(l=a,a=s,s=!1);var c,d="function"==typeof r?r.options:r;if(t&&t.render&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0,i&&(d.functional=!0)),o&&(d._scopeId=o),n?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(n)},d._ssrRegister=c):e&&(c=s?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),c)if(d.functional){var p=d.render;d.render=function(t,e){return c.call(e),p(t,e)}}else{var h=d.beforeCreate;d.beforeCreate=h?[].concat(h,c):[c]}return r}H.prototype.hasValidationErrors=function(){return this.form.hasValidationErrors()},H.prototype.values=function(){var t=this;return new Promise((function(e,r){var o=[],i=function t(e){if("object"!=typeof e)return e;var r=Array.isArray(e)?[]:{};for(var o in e)e[o]instanceof x||u(e[o])?r[o]=e[o]:r[o]=t(e[o]);return r}(t.form.proxy),n=function(e){"object"==typeof t.form.proxy[e]&&t.form.proxy[e]instanceof x&&o.push(t.form.proxy[e].upload().then((function(t){var r;return Object.assign(i,((r={})[e]=t,r))})))};for(var s in i)n(s);Promise.all(o).then((function(){return e(i)})).catch((function(t){return r(t)}))}))};var Y={name:"FormulateForm",inheritAttrs:!1,provide:function(){return Object.assign({},q(this,["getGroupValues"]),{observeContext:this.addContextObserver,removeContextObserver:this.removeContextObserver})},model:{prop:"formulateValue",event:"input"},props:{name:{type:[String,Boolean],default:!1},formulateValue:{type:Object,default:function(){return{}}},values:{type:[Object,Boolean],default:!1},errors:{type:[Object,Boolean],default:!1},formErrors:{type:Array,default:function(){return[]}},schema:{type:[Array,Boolean],default:!1},keepModelData:{type:[Boolean,String],default:!1},invalidMessage:{type:[Boolean,Function,String],default:!1},debounce:{type:[Boolean,Number],default:!1}},data:function(){return Object.assign({},U(this),{formShouldShowErrors:!1,contextObservers:[],namedErrors:[],namedFieldErrors:{},isLoading:!1,hasFailedSubmit:!1})},computed:Object.assign({},G(),{schemaListeners:function(){var t=this.$listeners;t.submit;return function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["submit"])},pseudoProps:function(){return h(this.$attrs,P.filter((function(t){return/^form/.test(t)})))},attributes:function(){var t=this,e=Object.keys(this.$attrs).filter((function(e){return!c(t.pseudoProps,i(e))})).reduce((function(e,r){var o;return Object.assign({},e,((o={})[r]=t.$attrs[r],o))}),{});return"string"==typeof this.name&&Object.assign(e,{name:this.name}),e},hasErrors:function(){return Object.values(this.registry.errors).some((function(t){return t}))},isValid:function(){return!this.hasErrors},formContext:function(){return{errors:this.mergedFormErrors,pseudoProps:this.pseudoProps,hasErrors:this.hasErrors,value:this.proxy,hasValue:!p(this.proxy),isValid:this.isValid,isLoading:this.isLoading,classes:this.classes}},classes:function(){return this.$formulate.classes(Object.assign({},this.$props,this.pseudoProps,{value:this.proxy,errors:this.mergedFormErrors,hasErrors:this.hasErrors,hasValue:!p(this.proxy),isValid:this.isValid,isLoading:this.isLoading,type:"form",classification:"form",attrs:this.$attrs}))},invalidErrors:function(){if(this.hasFailedSubmit&&this.hasErrors)switch(typeof this.invalidMessage){case"string":return[this.invalidMessage];case"object":return Array.isArray(this.invalidMessage)?this.invalidMessage:[];case"function":var t=this.invalidMessage(this.failingFields);return Array.isArray(t)?t:[t]}return[]},mergedFormErrors:function(){return this.formErrors.concat(this.namedErrors).concat(this.invalidErrors)},mergedFieldErrors:function(){var t={};if(this.errors)for(var e in this.errors)t[e]=s(this.errors[e]);for(var r in this.namedFieldErrors)t[r]=s(this.namedFieldErrors[r]);return t},hasFormErrorObservers:function(){return!!this.errorObservers.filter((function(t){return"form"===t.type})).length},failingFields:function(){var t=this;return Object.keys(this.registry.errors).reduce((function(e,r){var o;return Object.assign({},e,t.registry.errors[r]?((o={})[r]=t.registry.get(r),o):{})}),{})}}),watch:Object.assign({},{mergedFieldErrors:{handler:function(t){this.errorObservers.filter((function(t){return"input"===t.type})).forEach((function(e){return e.callback(t[e.field]||[])}))},immediate:!0},mergedGroupErrors:{handler:function(t){this.errorObservers.filter((function(t){return"group"===t.type})).forEach((function(e){return e.callback(t[e.field]||{})}))},immediate:!0}},{formulateValue:{handler:function(t){this.isVmodeled&&t&&"object"==typeof t&&this.setValues(t)},deep:!0},mergedFormErrors:function(t){this.errorObservers.filter((function(t){return"form"===t.type})).forEach((function(e){return e.callback(t)}))}}),created:function(){this.$formulate.register(this),this.applyInitialValues(),this.$emit("created",this)},destroyed:function(){this.$formulate.deregister(this)},methods:Object.assign({},T(),{applyErrors:function(t){var e=t.formErrors,r=t.inputErrors;this.namedErrors=e,this.namedFieldErrors=r},addContextObserver:function(t){this.contextObservers.find((function(e){return e===t}))||(this.contextObservers.push(t),t(this.formContext))},removeContextObserver:function(t){this.contextObservers.filter((function(e){return e!==t}))},registerErrorComponent:function(t){this.errorComponents.includes(t)||this.errorComponents.push(t)},formSubmitted:function(){var t=this;if(!this.isLoading){this.isLoading=!0,this.showErrors();var e=new H(this),r=this.$listeners["submit-raw"]||this.$listeners.submitRaw,o="function"==typeof r?r(e):Promise.resolve(e);return(o instanceof Promise?o:Promise.resolve(o)).then((function(t){var r=t instanceof H?t:e;return r.hasValidationErrors().then((function(t){return[r,t]}))})).then((function(e){var r=e[0];return e[1]||"function"!=typeof t.$listeners.submit?t.onFailedValidation():r.values().then((function(e){t.hasFailedSubmit=!1;var r=t.$listeners.submit(e);return(r instanceof Promise?r:Promise.resolve()).then((function(){return e}))}))})).finally((function(){t.isLoading=!1}))}},onFailedValidation:function(){return this.hasFailedSubmit=!0,this.$emit("failed-validation",Object.assign({},this.failingFields)),this.$formulate.failedValidation(this)}})},z=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("form",t._b({class:t.classes.form,on:{submit:function(e){return e.preventDefault(),t.formSubmitted(e)}}},"form",t.attributes,!1),[t.schema?r("FormulateSchema",t._g({attrs:{schema:t.schema}},t.schemaListeners)):t._e(),t._v(" "),t.hasFormErrorObservers?t._e():r("FormulateErrors",{attrs:{context:t.formContext}}),t._v(" "),t._t("default",null,null,t.formContext)],2)};z._withStripped=!0;var K=W({render:z,staticRenderFns:[]},void 0,Y,void 0,!1,void 0,!1,void 0,void 0,void 0);var Z={context:function(){return tt.call(this,Object.assign({},{addLabel:this.logicalAddLabel,removeLabel:this.logicalRemoveLabel,attributes:this.elementAttributes,blurHandler:Q.bind(this),classification:this.classification,component:this.component,debounceDelay:this.debounceDelay,disableErrors:this.disableErrors,errors:this.explicitErrors,formShouldShowErrors:this.formShouldShowErrors,getValidationErrors:this.getValidationErrors.bind(this),groupErrors:this.mergedGroupErrors,hasGivenName:this.hasGivenName,hasValue:this.hasValue,hasLabel:this.label&&"button"!==this.classification,hasValidationErrors:this.hasValidationErrors.bind(this),help:this.help,helpPosition:this.logicalHelpPosition,id:this.id||this.defaultId,ignored:c(this.$options.propsData,"ignored"),isValid:this.isValid,imageBehavior:this.imageBehavior,label:this.label,labelPosition:this.logicalLabelPosition,limit:this.limit===1/0?this.limit:parseInt(this.limit,10),name:this.nameOrFallback,minimum:parseInt(this.minimum,10),performValidation:this.performValidation.bind(this),pseudoProps:this.pseudoProps,preventWindowDrops:this.preventWindowDrops,removePosition:this.mergedRemovePosition,repeatable:this.repeatable,rootEmit:this.$emit.bind(this),rules:this.ruleDetails,setErrors:this.setErrors.bind(this),showValidationErrors:this.showValidationErrors,slotComponents:this.slotComponents,slotProps:this.slotProps,type:this.type,uploadBehavior:this.uploadBehavior,uploadUrl:this.mergedUploadUrl,uploader:this.uploader||this.$formulate.getUploader(),validationErrors:this.validationErrors,value:this.value,visibleValidationErrors:this.visibleValidationErrors,isSubField:this.isSubField,classes:this.classes},this.typeContext))},nameOrFallback:function(){if(!0===this.name&&"button"!==this.classification){var t=this.id||this.elementAttributes.id.replace(/[^0-9]/g,"");return this.type+"_"+t}if(!1===this.name||"button"===this.classification&&!0===this.name)return!1;return this.name},hasGivenName:function(){return"boolean"!=typeof this.name},typeContext:function(){var t=this;switch(this.classification){case"select":return{options:J.call(this,this.options),optionGroups:!!this.optionGroups&&r(this.optionGroups,(function(e,r){return J.call(t,r)})),placeholder:this.$attrs.placeholder||!1};case"slider":return{showValue:!!this.showValue};default:return this.options?{options:J.call(this,this.options)}:{}}},elementAttributes:function(){var t=Object.assign({},this.filteredAttributes);this.id?t.id=this.id:t.id=this.defaultId;this.hasGivenName&&(t.name=this.name);this.help&&!c(t,"aria-describedby")&&(t["aria-describedby"]=t.id+"-help");!this.classes.input||Array.isArray(this.classes.input)&&!this.classes.input.length||(t.class=this.classes.input);return t},logicalLabelPosition:function(){if(this.labelPosition)return this.labelPosition;switch(this.classification){case"box":return"after";default:return"before"}},logicalHelpPosition:function(){if(this.helpPosition)return this.helpPosition;switch(this.classification){case"group":return"before";default:return"after"}},mergedRemovePosition:function(){return"group"===this.type&&(this.removePosition||"before")},mergedUploadUrl:function(){return this.uploadUrl||this.$formulate.getUploadUrl()},mergedGroupErrors:function(){var t=this,e=Object.keys(this.groupErrors).concat(Object.keys(this.localGroupErrors)),r=/^(\d+)\.(.*)$/;return Array.from(new Set(e)).filter((function(t){return r.test(t)})).reduce((function(e,o){var i,n=o.match(r),a=n[1],l=n[2];c(e,a)||(e[a]={});var u=Array.from(new Set(s(t.groupErrors[o]).concat(s(t.localGroupErrors[o]))));return e[a]=Object.assign(e[a],((i={})[l]=u,i)),e}),{})},hasValue:function(){var t=this,e=this.proxy;if("box"===this.classification&&this.isGrouped||"select"===this.classification&&c(this.filteredAttributes,"multiple"))return Array.isArray(e)?e.some((function(e){return e===t.value})):this.value===e;return!p(e)},visibleValidationErrors:function(){return this.showValidationErrors&&this.validationErrors.length?this.validationErrors:[]},slotComponents:function(){var t=this.$formulate.slotComponent.bind(this.$formulate);return{addMore:t(this.type,"addMore"),buttonContent:t(this.type,"buttonContent"),errors:t(this.type,"errors"),file:t(this.type,"file"),help:t(this.type,"help"),label:t(this.type,"label"),prefix:t(this.type,"prefix"),remove:t(this.type,"remove"),repeatable:t(this.type,"repeatable"),suffix:t(this.type,"suffix"),uploadAreaMask:t(this.type,"uploadAreaMask")}},logicalAddLabel:function(){if("file"===this.classification)return!0===this.addLabel?"+ Add "+n(this.type):this.addLabel;if("boolean"==typeof this.addLabel){var t=this.label||this.name;return"+ "+("string"==typeof t?t+" ":"")+" Add"}return this.addLabel},logicalRemoveLabel:function(){if("boolean"==typeof this.removeLabel)return"Remove";return this.removeLabel},classes:function(){return this.$formulate.classes(Object.assign({},this.$props,this.pseudoProps,{attrs:this.filteredAttributes,classification:this.classification,hasErrors:this.hasVisibleErrors,hasValue:this.hasValue,helpPosition:this.logicalHelpPosition,isValid:this.isValid,labelPosition:this.logicalLabelPosition,type:this.type,value:this.proxy}))},showValidationErrors:function(){if(this.showErrors||this.formShouldShowErrors)return!0;if("file"===this.classification&&"live"===this.uploadBehavior&&et.call(this))return!0;return this.behavioralErrorVisibility},slotProps:function(){var t=this.$formulate.slotProps.bind(this.$formulate);return{label:t(this.type,"label",this.typeProps),help:t(this.type,"help",this.typeProps),errors:t(this.type,"errors",this.typeProps),repeatable:t(this.type,"repeatable",this.typeProps),addMore:t(this.type,"addMore",this.typeProps),remove:t(this.type,"remove",this.typeProps),component:t(this.type,"component",this.typeProps)}},pseudoProps:function(){return h(this.localAttributes,P)},isValid:function(){return!this.hasErrors},ruleDetails:function(){return this.parsedValidation.map((function(t){var e=t[1];return{ruleName:t[2],args:e}}))},isVmodeled:function(){return!!(this.$options.propsData.hasOwnProperty("formulateValue")&&this._events&&Array.isArray(this._events.input)&&this._events.input.length)},mergedValidationName:function(){var t=this,e=this.$formulate.options.validationNameStrategy||["validationName","name","label","type"];if(Array.isArray(e)){return this[e.find((function(e){return"string"==typeof t[e]}))]}if("function"==typeof e)return e.call(this,this);return this.type},explicitErrors:function(){return s(this.errors).concat(this.localErrors).concat(s(this.error))},allErrors:function(){return this.explicitErrors.concat(s(this.validationErrors))},hasVisibleErrors:function(){return Array.isArray(this.validationErrors)&&this.validationErrors.length&&this.showValidationErrors||!!this.explicitErrors.length},hasErrors:function(){return!!this.allErrors.length},filteredAttributes:function(){var t=this,e=Object.keys(this.pseudoProps).concat(Object.keys(this.typeProps));return Object.keys(this.localAttributes).reduce((function(r,o){return e.includes(i(o))||(r[o]=t.localAttributes[o]),r}),{})},typeProps:function(){return h(this.localAttributes,this.$formulate.typeProps(this.type))},listeners:function(){var t=this.$listeners;t.input;return function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["input"])}};function J(t){return t?(Array.isArray(t)?t:Object.keys(t).map((function(e){return{label:t[e],value:e}}))).map(X.bind(this)):[]}function X(t){return"number"==typeof t&&(t=String(t)),"string"==typeof t?{label:t,value:t,id:this.elementAttributes.id+"_"+t}:("number"==typeof t.value&&(t.value=String(t.value)),Object.assign({value:"",label:"",id:this.elementAttributes.id+"_"+(t.value||t.label)},t))}function Q(){var t=this;"blur"!==this.errorBehavior&&"value"!==this.errorBehavior||(this.behavioralErrorVisibility=!0),this.$nextTick((function(){return t.$emit("blur-context",t.context)}))}function tt(t){var e=this;return Object.defineProperty(t,"model",{get:et.bind(this),set:function(t){if(!e.mntd||!e.debounceDelay)return rt.call(e,t);e.dSet(rt,[t],e.debounceDelay)},enumerable:!0})}function et(){var t=this.isVmodeled?"formulateValue":"proxy";return"checkbox"===this.type&&!Array.isArray(this[t])&&this.options?[]:this[t]||0===this[t]?this[t]:""}function rt(t){var e=!1;o(t,this.proxy,"group"===this.type)||(this.proxy=t,e=!0),!this.context.ignored&&this.context.name&&"function"==typeof this.formulateSetter&&this.formulateSetter(this.context.name,t),e&&this.$emit("input",t)}var ot={name:"FormulateInput",inheritAttrs:!1,provide:function(){return{formulateRegisterRule:this.registerRule,formulateRemoveRule:this.removeRule}},inject:{formulateSetter:{default:void 0},formulateFieldValidation:{default:function(){return function(){return{}}}},formulateRegister:{default:void 0},formulateDeregister:{default:void 0},getFormValues:{default:function(){return function(){return{}}}},getGroupValues:{default:void 0},validateDependents:{default:function(){return function(){}}},observeErrors:{default:void 0},removeErrorObserver:{default:void 0},isSubField:{default:function(){return function(){return!1}}}},model:{prop:"formulateValue",event:"input"},props:{type:{type:String,default:"text"},name:{type:[String,Boolean],default:!0},formulateValue:{default:""},value:{default:!1},options:{type:[Object,Array,Boolean],default:!1},optionGroups:{type:[Object,Boolean],default:!1},id:{type:[String,Boolean,Number],default:!1},label:{type:[String,Boolean],default:!1},labelPosition:{type:[String,Boolean],default:!1},limit:{type:[String,Number],default:1/0,validator:function(t){return 1/0}},minimum:{type:[String,Number],default:0,validator:function(t){return parseInt(t,10)==t}},help:{type:[String,Boolean],default:!1},helpPosition:{type:[String,Boolean],default:!1},isGrouped:{type:Boolean,default:!1},errors:{type:[String,Array,Boolean],default:!1},removePosition:{type:[String,Boolean],default:!1},repeatable:{type:Boolean,default:!1},validation:{type:[String,Boolean,Array],default:!1},validationName:{type:[String,Boolean],default:!1},error:{type:[String,Boolean],default:!1},errorBehavior:{type:String,default:"blur",validator:function(t){return["blur","live","submit","value"].includes(t)}},showErrors:{type:Boolean,default:!1},groupErrors:{type:Object,default:function(){return{}},validator:function(t){var e=/^\d+\./;return!Object.keys(t).some((function(t){return!e.test(t)}))}},imageBehavior:{type:String,default:"preview"},uploadUrl:{type:[String,Boolean],default:!1},uploader:{type:[Function,Object,Boolean],default:!1},uploadBehavior:{type:String,default:"live"},preventWindowDrops:{type:Boolean,default:!0},showValue:{type:[String,Boolean],default:!1},validationMessages:{type:Object,default:function(){return{}}},validationRules:{type:Object,default:function(){return{}}},checked:{type:[String,Boolean],default:!1},disableErrors:{type:Boolean,default:!1},addLabel:{type:[Boolean,String],default:!0},removeLabel:{type:[Boolean,String],default:!1},keepModelData:{type:[Boolean,String],default:"inherit"},ignored:{type:[Boolean,String],default:!1},debounce:{type:[Boolean,Number],default:!1},preventDeregister:{type:Boolean,default:!1}},data:function(){return{defaultId:this.$formulate.nextId(this),localAttributes:{},localErrors:[],localGroupErrors:{},proxy:this.getInitialValue(),behavioralErrorVisibility:"live"===this.errorBehavior,formShouldShowErrors:!1,validationErrors:[],pendingValidation:Promise.resolve(),ruleRegistry:[],messageRegistry:{},touched:!1,debounceDelay:this.debounce,dSet:function(e,r,o){var i=this;t&&clearTimeout(t),t=setTimeout((function(){return e.call.apply(e,[i].concat(r))}),o)},mntd:!1};var t},computed:Object.assign({},Z,{classification:function(){var t=this.$formulate.classify(this.type);return"box"===t&&this.options?"group":t},component:function(){return"group"===this.classification?"FormulateInputGroup":this.$formulate.component(this.type)},parsedValidationRules:function(){var t=this,e={};return Object.keys(this.validationRules).forEach((function(r){e[i(r)]=t.validationRules[r]})),e},parsedValidation:function(){return a(this.validation,this.$formulate.rules(this.parsedValidationRules))},messages:function(){var t=this,e={};return Object.keys(this.validationMessages).forEach((function(r){e[i(r)]=t.validationMessages[r]})),Object.keys(this.messageRegistry).forEach((function(r){e[i(r)]=t.messageRegistry[r]})),e}}),watch:{$attrs:{handler:function(t){this.updateLocalAttributes(t)},deep:!0},proxy:{handler:function(t,e){this.performValidation(),this.isVmodeled||o(t,e,"group"===this.type)||(this.context.model=t),this.validateDependents(this),!this.touched&&t&&(this.touched=!0)},deep:!0},formulateValue:{handler:function(t,e){this.isVmodeled&&!o(t,e,"group"===this.type)&&(this.context.model=t)},deep:!0},showValidationErrors:{handler:function(t){this.$emit("error-visibility",t)},immediate:!0},validation:{handler:function(){this.performValidation()},deep:!0},touched:function(t){"value"===this.errorBehavior&&t&&(this.behavioralErrorVisibility=t)},debounce:function(t){this.debounceDelay=t}},created:function(){this.applyInitialValue(),this.formulateRegister&&"function"==typeof this.formulateRegister&&this.formulateRegister(this.nameOrFallback,this),this.applyDefaultValue(),this.disableErrors||"function"!=typeof this.observeErrors||(this.observeErrors({callback:this.setErrors,type:"input",field:this.nameOrFallback}),"group"===this.type&&this.observeErrors({callback:this.setGroupErrors,type:"group",field:this.nameOrFallback})),this.updateLocalAttributes(this.$attrs),this.performValidation(),this.hasValue&&(this.touched=!0)},mounted:function(){this.mntd=!0},beforeDestroy:function(){this.disableErrors||"function"!=typeof this.removeErrorObserver||(this.removeErrorObserver(this.setErrors),"group"===this.type&&this.removeErrorObserver(this.setGroupErrors)),"function"!=typeof this.formulateDeregister||this.preventDeregister||this.formulateDeregister(this.nameOrFallback)},methods:{getInitialValue:function(){var t=this.$formulate.classify(this.type);return"box"===(t="box"===t&&this.options?"group":t)&&this.checked?this.value||!0:c(this.$options.propsData,"value")&&"box"!==t?this.value:c(this.$options.propsData,"formulateValue")?this.formulateValue:"group"===t?Object.defineProperty("group"===this.type?[{}]:[],"__init",{value:!0}):""},applyInitialValue:function(){o(this.context.model,this.proxy)||"box"===this.classification&&!c(this.$options.propsData,"options")||(this.context.model=this.proxy,this.$emit("input",this.proxy))},applyDefaultValue:function(){"select"===this.type&&!this.context.placeholder&&p(this.proxy)&&!this.isVmodeled&&!1===this.value&&this.context.options.length&&(c(this.$attrs,"multiple")?this.context.model=[]:this.context.model=this.context.options[0].value)},updateLocalAttributes:function(t){o(t,this.localAttributes)||(this.localAttributes=t)},performValidation:function(){var t=this,e=a(this.validation,this.$formulate.rules(this.parsedValidationRules));return e=this.ruleRegistry.length?this.ruleRegistry.concat(e):e,this.pendingValidation=this.runRules(e).then((function(e){return t.didValidate(e)})),this.pendingValidation},runRules:function(t){var e=this,r=function(t){var r=t[0],o=t[1],i=t[2],n=(t[3],r.apply(void 0,[{value:e.context.model,getFormValues:function(){for(var t,r=[],o=arguments.length;o--;)r[o]=arguments[o];return(t=e).getFormValues.apply(t,[e].concat(r))},getGroupValues:function(){for(var t,r=[],o=arguments.length;o--;)r[o]=arguments[o];return(t=e)["get"+(e.getGroupValues?"Group":"Form")+"Values"].apply(t,[e].concat(r))},name:e.context.name}].concat(o)));return(n=n instanceof Promise?n:Promise.resolve(n)).then((function(t){return!t&&e.getMessage(i,o)}))};return new Promise((function(e){var o=function(t,i){void 0===i&&(i=[]);var n=t.shift();Array.isArray(n)&&n.length?Promise.all(n.map(r)).then((function(t){return t.filter((function(t){return!!t}))})).then((function(r){return(r=Array.isArray(r)?r:[]).length&&n.bail||!t.length?e(i.concat(r).filter((function(t){return!p(t)}))):o(t,i.concat(r))})):e([])};o(function(t){var e=[],r=t.findIndex((function(t){return"bail"===t[2].toLowerCase()})),o=t.findIndex((function(t){return"optional"===t[2].toLowerCase()}));if(o>=0){var i=t.splice(o,1);e.push(Object.defineProperty(i,"bail",{value:!0}))}if(r>=0){var n=t.splice(0,r+1).slice(0,-1);n.length&&e.push(n),t.map((function(t){return e.push(Object.defineProperty([t],"bail",{value:!0}))}))}else e.push(t);return e.reduce((function(t,e){var r=function(t,e){if(void 0===e&&(e=!1),t.length<2)return Object.defineProperty([t],"bail",{value:e});var o=[],i=t.findIndex((function(t){return"^"===t[3]}));if(i>=0){var n=t.splice(0,i);n.length&&o.push.apply(o,r(n,e)),o.push(Object.defineProperty([t.shift()],"bail",{value:!0})),t.length&&o.push.apply(o,r(t,e))}else o.push(t);return o};return t.concat(r(e))}),[])}(t))}))},didValidate:function(t){var e=!o(t,this.validationErrors);if(this.validationErrors=t,e){var r=this.getErrorObject();this.$emit("validation",r),this.formulateFieldValidation&&"function"==typeof this.formulateFieldValidation&&this.formulateFieldValidation(r)}},getMessage:function(t,e){var r=this;return this.getMessageFunc(t)({args:e,name:this.mergedValidationName,value:this.context.model,vm:this,formValues:this.getFormValues(this),getFormValues:function(){for(var t,e=[],o=arguments.length;o--;)e[o]=arguments[o];return(t=r).getFormValues.apply(t,[r].concat(e))},getGroupValues:function(){for(var t,e=[],o=arguments.length;o--;)e[o]=arguments[o];return(t=r)["get"+(r.getGroupValues?"Group":"Form")+"Values"].apply(t,[r].concat(e))}})},getMessageFunc:function(t){var e=this;if("optional"===(t=i(t)))return function(){return[]};if(this.messages&&void 0!==this.messages[t])switch(typeof this.messages[t]){case"function":return this.messages[t];case"string":case"boolean":return function(){return e.messages[t]}}return function(r){return e.$formulate.validationMessage(t,r,e)}},hasValidationErrors:function(){var t=this;return new Promise((function(e){t.$nextTick((function(){t.pendingValidation.then((function(){return e(!!t.validationErrors.length)}))}))}))},getValidationErrors:function(){var t=this;return new Promise((function(e){t.$nextTick((function(){return t.pendingValidation.then((function(){return e(t.getErrorObject())}))}))}))},getErrorObject:function(){return{name:this.context.nameOrFallback||this.context.name,errors:this.validationErrors.filter((function(t){return"string"==typeof t})),hasErrors:!!this.validationErrors.length}},setErrors:function(t){this.localErrors=s(t)},setGroupErrors:function(t){this.localGroupErrors=t},registerRule:function(t,e,r,o){void 0===o&&(o=null),this.ruleRegistry.some((function(t){return t[2]===r}))||(this.ruleRegistry.push([t,e,r]),null!==o&&(this.messageRegistry[r]=o))},removeRule:function(t){var e=this.ruleRegistry.findIndex((function(e){return e[2]===t}));e>=0&&(this.ruleRegistry.splice(e,1),delete this.messageRegistry[t])}}},it=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.outer,attrs:{"data-classification":t.classification,"data-has-errors":t.hasErrors,"data-is-showing-errors":t.hasVisibleErrors,"data-has-value":t.hasValue,"data-type":t.type}},[r("div",{class:t.context.classes.wrapper},["before"===t.context.labelPosition?t._t("label",[t.context.hasLabel?r(t.context.slotComponents.label,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.label,!1)):t._e()],null,t.context):t._e(),t._v(" "),"before"===t.context.helpPosition?t._t("help",[t.context.help?r(t.context.slotComponents.help,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.help,!1)):t._e()],null,t.context):t._e(),t._v(" "),t._t("element",[r(t.context.component,t._g(t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.component,!1),t.listeners),[t._t("default",null,null,t.context)],2)],null,t.context),t._v(" "),"after"===t.context.labelPosition?t._t("label",[t.context.hasLabel?r(t.context.slotComponents.label,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.label,!1)):t._e()],null,t.context):t._e()],2),t._v(" "),"after"===t.context.helpPosition?t._t("help",[t.context.help?r(t.context.slotComponents.help,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.help,!1)):t._e()],null,t.context):t._e(),t._v(" "),t._t("errors",[t.context.disableErrors?t._e():r(t.context.slotComponents.errors,t._b({tag:"component",attrs:{type:"FormulateErrors"===t.context.slotComponents.errors&&"input",context:t.context}},"component",t.context.slotProps.errors,!1))],null,t.context)],2)};it._withStripped=!0;var nt=W({render:it,staticRenderFns:[]},void 0,ot,void 0,!1,void 0,!1,void 0,void 0,void 0),st={inject:{observeErrors:{default:!1},removeErrorObserver:{default:!1},observeContext:{default:!1},removeContextObserver:{default:!1}},props:{context:{type:Object,default:function(){return{}}},type:{type:String,default:"form"}},data:function(){return{boundSetErrors:this.setErrors.bind(this),boundSetFormContext:this.setFormContext.bind(this),localErrors:[],formContext:{classes:{formErrors:"formulate-form-errors",formError:"formulate-form-error"}}}},computed:{visibleValidationErrors:function(){return Array.isArray(this.context.visibleValidationErrors)?this.context.visibleValidationErrors:[]},errors:function(){return Array.isArray(this.context.errors)?this.context.errors:[]},mergedErrors:function(){return this.errors.concat(this.localErrors)},visibleErrors:function(){return Array.from(new Set(this.mergedErrors.concat(this.visibleValidationErrors))).filter((function(t){return"string"==typeof t}))},outerClass:function(){return"input"===this.type&&this.context.classes?this.context.classes.errors:this.formContext.classes.formErrors},itemClass:function(){return"input"===this.type&&this.context.classes?this.context.classes.error:this.formContext.classes.formError},role:function(){return"form"===this.type?"alert":"status"},ariaLive:function(){return"form"===this.type?"assertive":"polite"},slotComponent:function(){return this.$formulate.slotComponent(null,"errorList")}},created:function(){"form"===this.type&&"function"==typeof this.observeErrors&&(Array.isArray(this.context.errors)||this.observeErrors({callback:this.boundSetErrors,type:"form"}),this.observeContext(this.boundSetFormContext))},destroyed:function(){"form"===this.type&&"function"==typeof this.removeErrorObserver&&(Array.isArray(this.context.errors)||this.removeErrorObserver(this.boundSetErrors),this.removeContextObserver(this.boundSetFormContext))},methods:{setErrors:function(t){this.localErrors=s(t)},setFormContext:function(t){this.formContext=t}}},at=function(){var t=this.$createElement;return(this._self._c||t)(this.slotComponent,{tag:"component",attrs:{"visible-errors":this.visibleErrors,"item-class":this.itemClass,"outer-class":this.outerClass,role:this.role,"aria-live":this.ariaLive,type:this.type}})};at._withStripped=!0;var lt=W({render:at,staticRenderFns:[]},void 0,st,void 0,!1,void 0,!1,void 0,void 0,void 0),ut={props:{context:{type:Object,required:!0}}},ct=function(){var t=this.$createElement,e=this._self._c||t;return this.context.help?e("div",{class:this.context.classes.help,attrs:{id:this.context.id+"-help"},domProps:{textContent:this._s(this.context.help)}}):this._e()};ct._withStripped=!0;var dt=W({render:ct,staticRenderFns:[]},void 0,ut,void 0,!1,void 0,!1,void 0,void 0,void 0),pt={props:{file:{type:Object,required:!0},imagePreview:{type:Boolean,default:!1},context:{type:Object,required:!0}}},ht=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.file},[t.imagePreview&&t.file.previewData?r("div",{class:t.context.classes.fileImagePreview},[r("img",{class:t.context.classes.fileImagePreviewImage,attrs:{src:t.file.previewData}})]):t._e(),t._v(" "),r("div",{class:t.context.classes.fileName,attrs:{title:t.file.name},domProps:{textContent:t._s(t.file.name)}}),t._v(" "),!1!==t.file.progress?r("div",{class:t.context.classes.fileProgress,attrs:{"data-just-finished":t.file.justFinished,"data-is-finished":!t.file.justFinished&&t.file.complete}},[r("div",{class:t.context.classes.fileProgressInner,style:{width:t.file.progress+"%"}})]):t._e(),t._v(" "),t.file.complete&&!t.file.justFinished||!1===t.file.progress?r("div",{class:t.context.classes.fileRemove,on:{click:t.file.removeFile}}):t._e()])};ht._withStripped=!0;var ft=W({render:ht,staticRenderFns:[]},void 0,pt,void 0,!1,void 0,!1,void 0,void 0,void 0),mt={name:"FormulateGrouping",props:{context:{type:Object,required:!0}},provide:function(){return{isSubField:function(){return!0},registerProvider:this.registerProvider,deregisterProvider:this.deregisterProvider}},data:function(){return{providers:[],keys:[]}},inject:["formulateRegisterRule","formulateRemoveRule"],computed:{items:function(){var t=this;return Array.isArray(this.context.model)?this.context.repeatable||0!==this.context.model.length?this.context.model.length<this.context.minimum?new Array(this.context.minimum||1).fill("").map((function(e,r){return t.setId(t.context.model[r]||{},r)})):this.context.model.map((function(e,r){return t.setId(e,r)})):[this.setId({},0)]:new Array(this.context.minimum||1).fill("").map((function(e,r){return t.setId({},r)}))},formShouldShowErrors:function(){return this.context.formShouldShowErrors},groupErrors:function(){var t=this;return this.items.map((function(e,r){return c(t.context.groupErrors,r)?t.context.groupErrors[r]:{}}))}},watch:{providers:function(){this.formShouldShowErrors&&this.showErrors()},formShouldShowErrors:function(t){t&&this.showErrors()},items:{handler:function(t,e){o(t,e,!0)||(this.keys=t.map((function(t){return t.__id})))},immediate:!0}},created:function(){this.formulateRegisterRule(this.validateGroup.bind(this),[],"formulateGrouping",!0)},destroyed:function(){this.formulateRemoveRule("formulateGrouping")},methods:{validateGroup:function(){return Promise.all(this.providers.reduce((function(t,e){return e&&"function"==typeof e.hasValidationErrors&&t.push(e.hasValidationErrors()),t}),[])).then((function(t){return!t.some((function(t){return!!t}))}))},showErrors:function(){this.providers.forEach((function(t){return t&&"function"==typeof t.showErrors&&t.showErrors()}))},setItem:function(t,e){var r=this;Array.isArray(this.context.model)&&this.context.model.length>=this.context.minimum&&!this.context.model.__init?this.context.model.splice(t,1,this.setId(e,t)):this.context.model=this.items.map((function(o,i){return i===t?r.setId(e,t):o}))},removeItem:function(t){var e=this;Array.isArray(this.context.model)&&this.context.model.length>this.context.minimum?(this.context.model=this.context.model.filter((function(e,r){return r!==t&&e})),this.context.rootEmit("repeatableRemoved",this.context.model)):!Array.isArray(this.context.model)&&this.items.length>this.context.minimum&&(this.context.model=new Array(this.items.length-1).fill("").map((function(t,r){return e.setId({},r)})),this.context.rootEmit("repeatableRemoved",this.context.model))},registerProvider:function(t){this.providers.some((function(e){return e===t}))||this.providers.push(t)},deregisterProvider:function(t){this.providers=this.providers.filter((function(e){return e!==t}))},setId:function(t,e){return t.__id?t:d(t,this.keys[e])}}},vt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("FormulateSlot",{class:t.context.classes.grouping,attrs:{name:"grouping",context:t.context,"force-wrap":t.context.repeatable}},t._l(t.items,(function(e,o){return r("FormulateRepeatableProvider",{key:e.__id,attrs:{index:o,context:t.context,uuid:e.__id,errors:t.groupErrors[o]},on:{remove:t.removeItem,input:function(e){return t.setItem(o,e)}}},[t._t("default")],2)})),1)};vt._withStripped=!0;var yt=W({render:vt,staticRenderFns:[]},void 0,mt,void 0,!1,void 0,!1,void 0,void 0,void 0),xt={props:{context:{type:Object,required:!0}}},gt=function(){var t=this.$createElement;return(this._self._c||t)("label",{class:this.context.classes.label,attrs:{id:this.context.id+"_label",for:this.context.id},domProps:{textContent:this._s(this.context.label)}})};gt._withStripped=!0;var bt=W({render:gt,staticRenderFns:[]},void 0,xt,void 0,!1,void 0,!1,void 0,void 0,void 0),Et={props:{context:{type:Object,required:!0},addMore:{type:Function,required:!0}}},_t=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.context.classes.groupAddMore},[e("FormulateInput",{attrs:{type:"button",label:this.context.addLabel,"data-minor":"","data-ghost":""},on:{click:this.addMore}})],1)};_t._withStripped=!0;var Ft=W({render:_t,staticRenderFns:[]},void 0,Et,void 0,!1,void 0,!1,void 0,void 0,void 0),wt={props:{context:{type:Object,required:!0}},computed:{type:function(){return this.context.type},attributes:function(){return this.context.attributes||{}},hasValue:function(){return this.context.hasValue}}},Ot={name:"FormulateInputBox",mixins:[wt],computed:{usesDecorator:function(){return this.$formulate.options.useInputDecorators}}},Pt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{value:t.context.value,checked:t._q(t.context.model,t.context.value)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",t.context.value)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{value:t.context.value,checked:Array.isArray(t.context.model)?t._i(t.context.model,t.context.value)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t.context.value,s=t._i(r,n);o.checked?s<0&&t.$set(t.context,"model",r.concat([n])):s>-1&&t.$set(t.context,"model",r.slice(0,s).concat(r.slice(s+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),t.usesDecorator?r("label",{tag:"component",class:t.context.classes.decorator,attrs:{for:t.attributes.id}}):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Pt._withStripped=!0;var At=W({render:Pt,staticRenderFns:[]},void 0,Ot,void 0,!1,void 0,!1,void 0,void 0,void 0),Vt={props:{visibleErrors:{type:Array,required:!0},itemClass:{type:[String,Array,Object,Boolean],default:!1},outerClass:{type:[String,Array,Object,Boolean],default:!1},role:{type:[String],default:"status"},ariaLive:{type:[String,Boolean],default:"polite"},type:{type:String,required:!0}}},St=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.visibleErrors.length?r("ul",{class:t.outerClass},t._l(t.visibleErrors,(function(e){return r("li",{key:e,class:t.itemClass,attrs:{role:t.role,"aria-live":t.ariaLive},domProps:{textContent:t._s(e)}})})),0):t._e()};St._withStripped=!0;var jt=W({render:St,staticRenderFns:[]},void 0,Vt,void 0,!1,void 0,!1,void 0,void 0,void 0),$t={name:"FormulateInputText",mixins:[wt]},Ct=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"checkbox"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.context.model)?t._i(t.context.model,null)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t._i(r,null);o.checked?n<0&&t.$set(t.context,"model",r.concat([null])):n>-1&&t.$set(t.context,"model",r.slice(0,n).concat(r.slice(n+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)):"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{checked:t._q(t.context.model,null)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",null)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:t.type},domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Ct._withStripped=!0;var kt=W({render:Ct,staticRenderFns:[]},void 0,$t,void 0,!1,void 0,!1,void 0,void 0,void 0),It={name:"FormulateFiles",props:{files:{type:x,required:!0},imagePreview:{type:Boolean,default:!1},context:{type:Object,required:!0}},computed:{fileUploads:function(){return this.files.files||[]},isMultiple:function(){return c(this.context.attributes,"multiple")}},watch:{files:function(){this.imagePreview&&this.files.loadPreviews()}},mounted:function(){this.imagePreview&&this.files.loadPreviews()},methods:{appendFiles:function(){var t=this.$refs.addFiles;t.files.length&&this.files.mergeFileList(t)}}},Rt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.fileUploads.length?r("ul",{class:t.context.classes.files},[t._l(t.fileUploads,(function(e){return r("li",{key:e.uuid,attrs:{"data-has-error":!!e.error,"data-has-preview":!(!t.imagePreview||!e.previewData)}},[r("FormulateSlot",{attrs:{name:"file",context:t.context,file:e,"image-preview":t.imagePreview}},[r(t.context.slotComponents.file,{tag:"component",attrs:{context:t.context,file:e,"image-preview":t.imagePreview}})],1),t._v(" "),e.error?r("div",{class:t.context.classes.fileUploadError,domProps:{textContent:t._s(e.error)}}):t._e()],1)})),t._v(" "),t.isMultiple&&t.context.addLabel?r("div",{class:t.context.classes.fileAdd,attrs:{role:"button"}},[t._v("\n    "+t._s(t.context.addLabel)+"\n    "),r("input",{ref:"addFiles",class:t.context.classes.fileAddInput,attrs:{type:"file",multiple:""},on:{change:t.appendFiles}})]):t._e()],2):t._e()};Rt._withStripped=!0;var Dt={name:"FormulateInputFile",components:{FormulateFiles:W({render:Rt,staticRenderFns:[]},void 0,It,void 0,!1,void 0,!1,void 0,void 0,void 0)},mixins:[wt],data:function(){return{isOver:!1}},computed:{hasFiles:function(){return!!(this.context.model instanceof x&&this.context.model.files.length)}},created:function(){Array.isArray(this.context.model)&&"string"==typeof this.context.model[0][this.$formulate.getFileUrlKey()]&&(this.context.model=this.$formulate.createUpload({files:this.context.model},this.context))},mounted:function(){window&&this.context.preventWindowDrops&&(window.addEventListener("dragover",this.preventDefault),window.addEventListener("drop",this.preventDefault))},destroyed:function(){window&&this.context.preventWindowDrops&&(window.removeEventListener("dragover",this.preventDefault),window.removeEventListener("drop",this.preventDefault))},methods:{preventDefault:function(t){"INPUT"!==t.target.tagName&&"file"!==t.target.getAttribute("type")&&(t=t||event).preventDefault()},handleFile:function(){var t=this;this.isOver=!1;var e=this.$refs.file;e.files.length&&(this.context.model=this.$formulate.createUpload(e,this.context),this.$nextTick((function(){return t.attemptImmediateUpload()})))},attemptImmediateUpload:function(){var t=this;"live"===this.context.uploadBehavior&&this.context.model instanceof x&&this.context.hasValidationErrors().then((function(e){e||t.context.model.upload()}))},handleDragOver:function(t){t.preventDefault(),this.isOver=!0},handleDragLeave:function(t){t.preventDefault(),this.isOver=!1}}},Lt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type,"data-has-files":t.hasFiles}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("div",{class:t.context.classes.uploadArea,attrs:{"data-has-files":t.hasFiles}},[r("input",t._g(t._b({ref:"file",attrs:{"data-is-drag-hover":t.isOver,type:"file"},on:{blur:t.context.blurHandler,change:t.handleFile,dragover:t.handleDragOver,dragleave:t.handleDragLeave}},"input",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"uploadAreaMask",context:t.context,"has-files":t.hasFiles}},[r(t.context.slotComponents.uploadAreaMask,{directives:[{name:"show",rawName:"v-show",value:!t.hasFiles,expression:"!hasFiles"}],tag:"component",class:t.context.classes.uploadAreaMask,attrs:{"has-files":"div"!==t.context.slotComponents.uploadAreaMask&&t.hasFiles,"data-has-files":"div"===t.context.slotComponents.uploadAreaMask&&t.hasFiles}})],1),t._v(" "),t.hasFiles?r("FormulateFiles",{attrs:{files:t.context.model,"image-preview":"image"===t.context.type&&"preview"===t.context.imageBehavior,context:t.context}}):t._e()],1),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Lt._withStripped=!0;var Nt=W({render:Lt,staticRenderFns:[]},void 0,Dt,void 0,!1,void 0,!1,void 0,void 0,void 0),Mt={props:{context:{type:Object,required:!0},removeItem:{type:Function,required:!0},index:{type:Number,required:!0}}},Bt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.groupRepeatable},["after"===t.context.removePosition?t._t("default"):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"remove",context:t.context,index:t.index,"remove-item":t.removeItem}},[r(t.context.slotComponents.remove,t._b({tag:"component",attrs:{context:t.context,index:t.index,"remove-item":t.removeItem}},"component",t.context.slotProps.remove,!1))],1),t._v(" "),"before"===t.context.removePosition?t._t("default"):t._e()],2)};Bt._withStripped=!0;var Ut=W({render:Bt,staticRenderFns:[]},void 0,Mt,void 0,!1,void 0,!1,void 0,void 0,void 0);function Gt(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var Tt={name:"FormulateInputGroup",props:{context:{type:Object,required:!0}},computed:{options:function(){return this.context.options||[]},subType:function(){return"group"===this.context.type?"grouping":"inputs"},optionsWithContext:function(){var t=this,e=this.context,r=e.attributes,o=(r.id,Gt(r,["id"])),i=(e.blurHandler,e.classification,e.component,e.getValidationErrors,e.hasLabel,e.hasValidationErrors,e.isSubField,e.isValid,e.labelPosition,e.options,e.performValidation,e.setErrors,e.slotComponents,e.slotProps,e.validationErrors,e.visibleValidationErrors,e.classes,e.showValidationErrors,e.rootEmit,e.help,e.pseudoProps,e.rules,e.model,Gt(e,["attributes","blurHandler","classification","component","getValidationErrors","hasLabel","hasValidationErrors","isSubField","isValid","labelPosition","options","performValidation","setErrors","slotComponents","slotProps","validationErrors","visibleValidationErrors","classes","showValidationErrors","rootEmit","help","pseudoProps","rules","model"]));return this.options.map((function(e){return t.groupItemContext(i,e,o)}))},totalItems:function(){return Array.isArray(this.context.model)&&this.context.model.length>this.context.minimum?this.context.model.length:this.context.minimum||1},canAddMore:function(){return this.context.repeatable&&this.totalItems<this.context.limit},labelledBy:function(){return this.context.label&&this.context.id+"_label"}},methods:{addItem:function(){if(Array.isArray(this.context.model))for(var t=this.context.minimum-this.context.model.length+1,e=Math.max(t,1),r=0;r<e;r++)this.context.model.push(d({}));else this.context.model=new Array(this.totalItems+1).fill("").map((function(){return d({})}));this.context.rootEmit("repeatableAdded",this.context.model)},groupItemContext:function(t,e,r){return Object.assign({},t,e,r,{isGrouped:!0},t.hasGivenName?{}:{name:!0})}}},qt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-is-repeatable":t.context.repeatable,role:"group","aria-labelledby":t.labelledBy}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"grouping"!==t.subType?t._l(t.optionsWithContext,(function(e){return r("FormulateInput",t._b({key:e.id,staticClass:"formulate-input-group-item",attrs:{"disable-errors":!0,"prevent-deregister":!0},on:{blur:t.context.blurHandler},model:{value:t.context.model,callback:function(e){t.$set(t.context,"model",e)},expression:"context.model"}},"FormulateInput",e,!1))})):[r("FormulateGrouping",{attrs:{context:t.context}},[t._t("default")],2),t._v(" "),t.canAddMore?r("FormulateSlot",{attrs:{name:"addmore",context:t.context,"add-more":t.addItem}},[r(t.context.slotComponents.addMore,t._b({tag:"component",attrs:{context:t.context,"add-more":t.addItem},on:{add:t.addItem}},"component",t.context.slotProps.addMore,!1))],1):t._e()],t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],2)};qt._withStripped=!0;var Ht=W({render:qt,staticRenderFns:[]},void 0,Tt,void 0,!1,void 0,!1,void 0,void 0,void 0),Wt={name:"FormulateInputButton",mixins:[wt]},Yt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("button",t._g(t._b({attrs:{type:t.type}},"button",t.attributes,!1),t.$listeners),[t._t("default",[r(t.context.slotComponents.buttonContent,{tag:"component",attrs:{context:t.context}})],{context:t.context})],2),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Yt._withStripped=!0;var zt=W({render:Yt,staticRenderFns:[]},void 0,Wt,void 0,!1,void 0,!1,void 0,void 0,void 0),Kt={name:"FormulateInputSelect",mixins:[wt],computed:{options:function(){return this.context.options||{}},optionGroups:function(){return this.context.optionGroups||!1},placeholderSelected:function(){return!(this.hasValue||!this.context.attributes||!this.context.attributes.placeholder)}}},Zt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type,"data-multiple":t.attributes&&void 0!==t.attributes.multiple}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("select",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{"data-placeholder-selected":t.placeholderSelected},on:{blur:t.context.blurHandler,change:function(e){var r=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.context,"model",e.target.multiple?r:r[0])}}},"select",t.attributes,!1),t.$listeners),[t.context.placeholder?r("option",{attrs:{value:"",hidden:"hidden",disabled:""},domProps:{selected:!t.hasValue}},[t._v("\n      "+t._s(t.context.placeholder)+"\n    ")]):t._e(),t._v(" "),t.optionGroups?t._l(t.optionGroups,(function(e,o){return r("optgroup",{key:o,attrs:{label:o}},t._l(e,(function(e){return r("option",t._b({key:e.id,attrs:{disabled:!!e.disabled},domProps:{value:e.value,textContent:t._s(e.label)}},"option",e.attributes||e.attrs||{},!1))})),0)})):t._l(t.options,(function(e){return r("option",t._b({key:e.id,attrs:{disabled:!!e.disabled},domProps:{value:e.value,textContent:t._s(e.label)}},"option",e.attributes||e.attrs||{},!1))}))],2),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Zt._withStripped=!0;var Jt=W({render:Zt,staticRenderFns:[]},void 0,Kt,void 0,!1,void 0,!1,void 0,void 0,void 0),Xt={name:"FormulateInputSlider",mixins:[wt]},Qt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"checkbox"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.context.model)?t._i(t.context.model,null)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t._i(r,null);o.checked?n<0&&t.$set(t.context,"model",r.concat([null])):n>-1&&t.$set(t.context,"model",r.slice(0,n).concat(r.slice(n+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)):"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{checked:t._q(t.context.model,null)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",null)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:t.type},domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),t.context.showValue?r("div",{class:t.context.classes.rangeValue,domProps:{textContent:t._s(t.context.model)}}):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Qt._withStripped=!0;var te=W({render:Qt,staticRenderFns:[]},void 0,Xt,void 0,!1,void 0,!1,void 0,void 0,void 0),ee={props:{context:{type:Object,required:!0}}},re=function(){var t=this.$createElement;return(this._self._c||t)("span",{class:"formulate-input-element--"+this.context.type+"--label",domProps:{textContent:this._s(this.context.value||this.context.label||this.context.name||"Submit")}})};re._withStripped=!0;var oe=W({render:re,staticRenderFns:[]},void 0,ee,void 0,!1,void 0,!1,void 0,void 0,void 0),ie={name:"FormulateInputTextArea",mixins:[wt]},ne=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":"textarea"}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("textarea",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"textarea",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};ne._withStripped=!0;var se=W({render:ne,staticRenderFns:[]},void 0,ie,void 0,!1,void 0,!1,void 0,void 0,void 0),ae={provide:function(){var t=this;return Object.assign({},q(this,["getFormValues"]),{formulateSetter:function(e,r){return t.setGroupValue(e,r)}})},inject:{registerProvider:"registerProvider",deregisterProvider:"deregisterProvider"},props:{index:{type:Number,required:!0},context:{type:Object,required:!0},uuid:{type:String,required:!0},errors:{type:Object,required:!0}},data:function(){return Object.assign({},U(this),{isGrouping:!0})},computed:Object.assign({},G(),{mergedFieldErrors:function(){return this.errors}}),watch:Object.assign({},{mergedFieldErrors:{handler:function(t){this.errorObservers.filter((function(t){return"input"===t.type})).forEach((function(e){return e.callback(t[e.field]||[])}))},immediate:!0},mergedGroupErrors:{handler:function(t){this.errorObservers.filter((function(t){return"group"===t.type})).forEach((function(e){return e.callback(t[e.field]||{})}))},immediate:!0}},{"context.model":{handler:function(t){o(t[this.index],this.proxy,!0)||this.setValues(t[this.index])},deep:!0}}),created:function(){this.applyInitialValues(),this.registerProvider(this)},beforeDestroy:function(){this.preventCleanup=!0,this.deregisterProvider(this)},methods:Object.assign({},T(),{setGroupValue:function(t,e){o(this.proxy[t],e,!0)||this.setFieldValue(t,e)},removeItem:function(){this.$emit("remove",this.index)}})},le=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("FormulateSlot",{attrs:{name:"repeatable",context:t.context,index:t.index,"remove-item":t.removeItem}},[r(t.context.slotComponents.repeatable,t._b({tag:"component",attrs:{context:t.context,index:t.index,"remove-item":t.removeItem}},"component",t.context.slotProps.repeatable,!1),[r("FormulateSlot",{attrs:{context:t.context,index:t.index,name:"default"}})],1)],1)};le._withStripped=!0;var ue=W({render:le,staticRenderFns:[]},void 0,ae,void 0,!1,void 0,!1,void 0,void 0,void 0),ce={props:{index:{type:Number,default:null},context:{type:Object,required:!0},removeItem:{type:Function,required:!0}}},de=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.context.repeatable?r("a",{class:t.context.classes.groupRepeatableRemove,attrs:{"data-disabled":t.context.model.length<=t.context.minimum,role:"button"},domProps:{textContent:t._s(t.context.removeLabel)},on:{click:function(e){return e.preventDefault(),t.removeItem(e)},keypress:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.removeItem(e)}}}):t._e()};de._withStripped=!0;var pe=W({render:de,staticRenderFns:[]},void 0,ce,void 0,!1,void 0,!1,void 0,void 0,void 0),he=function(){this.options={},this.defaults={components:{FormulateSlot:D,FormulateForm:K,FormulateFile:ft,FormulateHelp:dt,FormulateLabel:bt,FormulateInput:nt,FormulateErrors:lt,FormulateSchema:N,FormulateAddMore:Ft,FormulateGrouping:yt,FormulateInputBox:At,FormulateInputText:kt,FormulateInputFile:Nt,FormulateErrorList:jt,FormulateRepeatable:Ut,FormulateInputGroup:Ht,FormulateInputButton:zt,FormulateInputSelect:Jt,FormulateInputSlider:te,FormulateButtonContent:oe,FormulateInputTextArea:se,FormulateRepeatableRemove:pe,FormulateRepeatableProvider:ue},slotComponents:{addMore:"FormulateAddMore",buttonContent:"FormulateButtonContent",errorList:"FormulateErrorList",errors:"FormulateErrors",file:"FormulateFile",help:"FormulateHelp",label:"FormulateLabel",prefix:!1,remove:"FormulateRepeatableRemove",repeatable:"FormulateRepeatable",suffix:!1,uploadAreaMask:"div"},slotProps:{},library:e,rules:b,mimes:_,locale:!1,uploader:I,uploadUrl:!1,fileUrlKey:"url",uploadJustCompleteDuration:1e3,errorHandler:function(t){return t},plugins:[k],locales:{},failedValidation:function(){return!1},idPrefix:"formulate-",baseClasses:function(t){return t},coreClasses:V,classes:{},useInputDecorators:!0,validationNameStrategy:!1},this.registry=new Map,this.idRegistry={}};return he.prototype.install=function(t,e){var r=this;t.prototype.$formulate=this,this.options=this.defaults;var o=this.defaults.plugins;for(var i in e&&Array.isArray(e.plugins)&&e.plugins.length&&(o=o.concat(e.plugins)),o.forEach((function(t){return"function"==typeof t?t(r):null})),this.extend(e||{}),this.options.components)t.component(i,this.options.components[i])},he.prototype.nextId=function(t){var e=!(!t.$route||!t.$route.path)&&t.$route.path?t.$route.path.replace(/[/\\.\s]/g,"-"):"global";return Object.prototype.hasOwnProperty.call(this.idRegistry,e)||(this.idRegistry[e]=0),""+this.options.idPrefix+e+"-"+ ++this.idRegistry[e]},he.prototype.extend=function(t){if("object"==typeof t)return this.options=this.merge(this.options,t),this;throw new Error("Formulate.extend expects an object, was "+typeof t)},he.prototype.merge=function(t,e,r){void 0===r&&(r=!0);var o={};for(var i in t)e.hasOwnProperty(i)?j(e[i])&&j(t[i])?o[i]=this.merge(t[i],e[i],r):r&&Array.isArray(t[i])&&Array.isArray(e[i])?o[i]=t[i].concat(e[i]):o[i]=e[i]:o[i]=t[i];for(var n in e)o.hasOwnProperty(n)||(o[n]=e[n]);return o},he.prototype.classify=function(t){return this.options.library.hasOwnProperty(t)?this.options.library[t].classification:"unknown"},he.prototype.classes=function(t){var e=this,r=this.options.coreClasses(t),o=this.options.baseClasses(r,t);return Object.keys(o).reduce((function(r,i){var a,l=A(o[i],e.options.classes[i],t);return l=function(t,e,r,o){return Object.keys(w).reduce((function(e,i){if(w[i](o)){var a=""+t+n(i),l=a+"Class";if(r[a])e=A(e,"string"==typeof r[a]?s(r[a]):r[a],o);if(o[l])e=A(e,"string"==typeof o[l]?s(o[l]):o[a+"Class"],o)}return e}),e)}(i,l=A(l,t[i+"Class"],t),e.options.classes,t),Object.assign(r,((a={})[i]=l,a))}),{})},he.prototype.typeProps=function(t){var e=function(t){return Object.keys(t).reduce((function(e,r){return Array.isArray(t[r])?e.concat(t[r]):e}),[])},r=e(this.options.slotProps);return this.options.library[t]?r.concat(e(this.options.library[t].slotProps||{})):r},he.prototype.slotProps=function(t,e,r){var o=Array.isArray(this.options.slotProps[e])?this.options.slotProps[e]:[],i=this.options.library[t];return i&&i.slotProps&&Array.isArray(i.slotProps[e])&&(o=o.concat(i.slotProps[e])),o.reduce((function(t,e){var o;return Object.assign(t,((o={})[e]=r[e],o))}),{})},he.prototype.component=function(t){return!!this.options.library.hasOwnProperty(t)&&this.options.library[t].component},he.prototype.slotComponent=function(t,e){var r=this.options.library[t];return r&&r.slotComponents&&r.slotComponents[e]?r.slotComponents[e]:this.options.slotComponents[e]},he.prototype.rules=function(t){return void 0===t&&(t={}),Object.assign({},this.options.rules,t)},he.prototype.i18n=function(t){if(t.$i18n)switch(typeof t.$i18n.locale){case"string":return t.$i18n.locale;case"function":return t.$i18n.locale()}return!1},he.prototype.getLocale=function(t){var e=this;return this.selectedLocale||(this.selectedLocale=[this.options.locale,this.i18n(t),"en"].reduce((function(t,r){if(t)return t;if(r){var o=function(t){return t.split("-").reduce((function(t,e){return t.length&&t.unshift(t[0]+"-"+e),t.length?t:[e]}),[])}(r).find((function(t){return c(e.options.locales,t)}));o&&(t=o)}return t}),!1)),this.selectedLocale},he.prototype.setLocale=function(t){c(this.options.locales,t)&&(this.options.locale=t,this.selectedLocale=t,this.registry.forEach((function(t,e){t.hasValidationErrors()})))},he.prototype.validationMessage=function(t,e,r){var o=this.options.locales[this.getLocale(r)];return o.hasOwnProperty(t)?o[t](e):o.hasOwnProperty("default")?o.default(e):"Invalid field value"},he.prototype.register=function(t){"FormulateForm"===t.$options.name&&t.name&&this.registry.set(t.name,t)},he.prototype.deregister=function(t){"FormulateForm"===t.$options.name&&t.name&&this.registry.has(t.name)&&this.registry.delete(t.name)},he.prototype.handle=function(t,e,r){void 0===r&&(r=!1);var o=r?t:this.options.errorHandler(t,e);return e&&this.registry.has(e)&&this.registry.get(e).applyErrors({formErrors:s(o.formErrors),inputErrors:o.inputErrors||{}}),o},he.prototype.reset=function(t,e){void 0===e&&(e={}),this.resetValidation(t),this.setValues(t,e)},he.prototype.submit=function(t){this.registry.get(t).formSubmitted()},he.prototype.resetValidation=function(t){var e=this.registry.get(t);e.hideErrors(t),e.namedErrors=[],e.namedFieldErrors={}},he.prototype.setValues=function(t,e){e&&!Array.isArray(e)&&"object"==typeof e&&this.registry.get(t).setValues(Object.assign({},e))},he.prototype.getUploader=function(){return this.options.uploader||!1},he.prototype.getUploadUrl=function(){return this.options.uploadUrl||!1},he.prototype.getFileUrlKey=function(){return this.options.fileUrlKey||"url"},he.prototype.createUpload=function(t,e){return new x(t,e,this.options)},he.prototype.failedValidation=function(t){return this.options.failedValidation(this)},new he}();
diff --git a/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.umd.min.js b/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.umd.min.js
deleted file mode 100644
index 209959961cb7fa521f59f38d18c5736bc511155c..0000000000000000000000000000000000000000
--- a/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.umd.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Skipped minification because the original files appears to be already minified.
- * Original file: /npm/@braid/vue-formulate@2.5.3/dist/formulate.umd.js
- *
- * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
- */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("is-plain-object"),require("@braid/vue-formulate-i18n")):"function"==typeof define&&define.amd?define(["is-plain-object","@braid/vue-formulate-i18n"],e):(t=t||self).Formulate=e(t.isPlainObject,t.VueFormulateI18n)}(this,(function(t,e){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r=function(t,e){return{classification:t,component:"FormulateInput"+(e||t[0].toUpperCase()+t.substr(1))}},o=Object.assign({},["text","email","number","color","date","hidden","month","password","search","tel","time","url","week","datetime-local"].reduce((function(t,e){var o;return Object.assign({},t,((o={})[e]=r("text"),o))}),{}),{range:r("slider"),textarea:r("textarea","TextArea"),checkbox:r("box"),radio:r("box"),submit:r("button"),button:r("button"),select:r("select"),file:r("file"),image:r("file"),group:r("group")});function i(t,e){var r={};for(var o in t)r[o]=e(o,t[o]);return r}function n(t,e,r){if(void 0===r&&(r=!1),t===e)return!0;if(!t||!e)return!1;if("object"!=typeof t&&"object"!=typeof e)return t===e;var o=Object.keys(t),i=Object.keys(e),s=o.length;if(i.length!==s)return!1;for(var a=0;a<s;a++){var l=o[a];if(!r&&t[l]!==e[l]||r&&!n(t[l],e[l],r))return!1}return!0}function s(t){return"string"==typeof t?t.replace(/([_-][a-z0-9])/gi,(function(e){return 0===t.indexOf(e)||/[_-]/.test(t[t.indexOf(e)-1])?e:e.toUpperCase().replace(/[_-]/,"")})):t}function a(t){return"string"==typeof t?t[0].toUpperCase()+t.substr(1):t}function l(t){return t?"string"==typeof t?[t]:Array.isArray(t)?t:"object"==typeof t?Object.values(t):[]:[]}function u(t,e){return"string"==typeof t?u(t.split("|"),e):Array.isArray(t)?t.map((function(t){return function(t,e){if("function"==typeof t)return[t,[]];if(Array.isArray(t)&&t.length){var r=c((t=t.map((function(t){return t}))).shift()),o=r[0],i=r[1];if("string"==typeof o&&e.hasOwnProperty(o))return[e[o],t,o,i];if("function"==typeof o)return[o,t,o,i]}if("string"==typeof t&&t){var n=t.split(":"),s=c(n.shift()),a=s[0],l=s[1];if(e.hasOwnProperty(a))return[e[a],n.length?n.join(":").split(","):[],a,l];throw new Error("Unknown validation rule "+t)}return!1}(t,e)})).filter((function(t){return!!t})):[]}function c(t){return/^[\^]/.test(t.charAt(0))?[s(t.substr(1)),t.charAt(0)]:[s(t),null]}function d(t){switch(typeof t){case"symbol":case"number":case"string":case"boolean":case"undefined":return!0;default:return null===t}}function p(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function h(t,e){return!p(t,"__id")||e?Object.defineProperty(t,"__id",Object.assign(Object.create(null),{value:e||v(9)})):t}function f(t){return"number"!=typeof t&&(void 0===t||""===t||null===t||!1===t||Array.isArray(t)&&!t.some((function(t){return!f(t)}))||t&&!Array.isArray(t)&&"object"==typeof t&&f(Object.values(t)))}function m(t,e){return Object.keys(t).reduce((function(r,o){var i=s(o);return e.includes(i)&&(r[i]=t[o]),r}),{})}function v(t){return void 0===t&&(t=13),Math.random().toString(36).substring(2,t+2)}var x=/^(?:\w+:)?\/\/(\S+)$/,y=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,g=/^[^\s.]+\.\S{2,}$/;var b=function(t,e,r){void 0===r&&(r={}),this.input=t,this.fileList=t.files,this.files=[],this.options=Object.assign({},{mimes:{}},r),this.results=!1,this.context=e,this.dataTransferCheck(),e&&e.uploadUrl&&(this.options.uploadUrl=e.uploadUrl),this.uploadPromise=null,Array.isArray(this.fileList)?this.rehydrateFileList(this.fileList):this.addFileList(this.fileList)};b.prototype.rehydrateFileList=function(t){var e=this,r=t.reduce((function(t,r){var o=r[e.options?e.options.fileUrlKey:"url"],i=!(!o||-1===o.lastIndexOf("."))&&o.substr(o.lastIndexOf(".")+1),n=e.options.mimes[i]||!1;return t.push(Object.assign({},r,o?{name:r.name||o.substr(o.lastIndexOf("/")+1||0),type:r.type?r.type:n,previewData:o}:{})),t}),[]);this.addFileList(r),this.results=this.mapUUID(t)},b.prototype.addFileList=function(t){for(var e=this,r=function(r){var o=t[r],i=v();e.files.push({progress:!1,error:!1,complete:!1,justFinished:!1,name:o.name||"file-upload",file:o,uuid:i,path:!1,removeFile:function(){this.removeFile(i)}.bind(e),previewData:o.previewData||!1})},o=0;o<t.length;o++)r(o)},b.prototype.hasUploader=function(){return!!this.context.uploader},b.prototype.uploaderIsAxios=function(){return!(!this.hasUploader()||"function"!=typeof this.context.uploader.request||"function"!=typeof this.context.uploader.get||"function"!=typeof this.context.uploader.delete||"function"!=typeof this.context.uploader.post)},b.prototype.getUploader=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(this.uploaderIsAxios()){var o=new FormData;if(o.append(this.context.name||"file",e[0]),!1===this.context.uploadUrl)throw new Error("No uploadURL specified: https://vueformulate.com/guide/inputs/file/#props");return this.context.uploader.post(this.context.uploadUrl,o,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(t){e[1](Math.round(100*t.loaded/t.total))}}).then((function(t){return t.data})).catch((function(t){return e[2](t)}))}return(t=this.context).uploader.apply(t,e)},b.prototype.upload=function(){var t=this;return this.uploadPromise=this.uploadPromise?this.uploadPromise.then((function(){return t.__performUpload()})):this.__performUpload(),this.uploadPromise},b.prototype.__performUpload=function(){var t=this;return new Promise((function(e,r){if(!t.hasUploader())return r(new Error("No uploader has been defined"));Promise.all(t.files.map((function(e){return e.error=!1,e.complete=!!e.path,e.path?Promise.resolve(e.path):t.getUploader(e.file,(function(r){e.progress=r,t.context.rootEmit("file-upload-progress",r),r>=100&&(e.complete||(e.justFinished=!0,setTimeout((function(){e.justFinished=!1}),t.options.uploadJustCompleteDuration)),e.complete=!0,t.context.rootEmit("file-upload-complete",e))}),(function(o){e.progress=0,e.error=o,e.complete=!0,t.context.rootEmit("file-upload-error",o),r(o)}),t.options)}))).then((function(r){t.results=t.mapUUID(r),e(r)})).catch((function(t){throw new Error(t)}))}))},b.prototype.removeFile=function(t){var e=this.files.length;if(this.files=this.files.filter((function(e){return e&&e.uuid!==t})),Array.isArray(this.results)&&(this.results=this.results.filter((function(e){return e&&e.__id!==t}))),this.context.performValidation(),window&&this.fileList instanceof FileList&&this.supportsDataTransfers){var r=new DataTransfer;this.files.forEach((function(t){return r.items.add(t.file)})),this.fileList=r.files,this.input.files=this.fileList}else this.fileList=this.fileList.filter((function(e){return e&&e.__id!==t}));e>this.files.length&&this.context.rootEmit("file-removed",this.files)},b.prototype.mergeFileList=function(t){if(this.addFileList(t.files),this.supportsDataTransfers){var e=new DataTransfer;this.files.forEach((function(t){t.file instanceof File&&e.items.add(t.file)})),this.fileList=e.files,this.input.files=this.fileList,t.files=(new DataTransfer).files}this.context.performValidation(),this.loadPreviews(),"delayed"!==this.context.uploadBehavior&&this.upload()},b.prototype.loadPreviews=function(){this.files.map((function(t){if(!t.previewData&&window&&window.FileReader&&/^image\//.test(t.file.type)){var e=new FileReader;e.onload=function(e){return Object.assign(t,{previewData:e.target.result})},e.readAsDataURL(t.file)}}))},b.prototype.dataTransferCheck=function(){try{new DataTransfer,this.supportsDataTransfers=!0}catch(t){this.supportsDataTransfers=!1}},b.prototype.getFiles=function(){return this.files},b.prototype.mapUUID=function(t){var e=this;return t.map((function(t,r){return e.files[r].path=void 0!==t&&t,t&&h(t,e.files[r].uuid)}))},b.prototype.toString=function(){var t=this.files.length?this.files.length+" files":"empty";return this.results?JSON.stringify(this.results,null,"  "):"FileUpload("+t+")"};var E,_={accepted:function(t){var e=t.value;return Promise.resolve(["yes","on","1",1,!0,"true"].includes(e))},after:function(t,e){var r=t.value;void 0===e&&(e=!1);var o=Date.parse(e||new Date),i=Date.parse(r);return Promise.resolve(!isNaN(i)&&i>o)},alpha:function(t,e){var r=t.value;void 0===e&&(e="default");var o={default:/^[a-zA-ZÀ-ÖØ-öø-ÿĄąĆćĘꣳŃńŚśŹźŻż]+$/,latin:/^[a-zA-Z]+$/},i=o.hasOwnProperty(e)?e:"default";return Promise.resolve(o[i].test(r))},alphanumeric:function(t,e){var r=t.value;void 0===e&&(e="default");var o={default:/^[a-zA-Z0-9À-ÖØ-öø-ÿĄąĆćĘꣳŃńŚśŹźŻż]+$/,latin:/^[a-zA-Z0-9]+$/},i=o.hasOwnProperty(e)?e:"default";return Promise.resolve(o[i].test(r))},before:function(t,e){var r=t.value;void 0===e&&(e=!1);var o=Date.parse(e||new Date),i=Date.parse(r);return Promise.resolve(!isNaN(i)&&i<o)},between:function(t,e,r,o){var i=t.value;return void 0===e&&(e=0),void 0===r&&(r=10),Promise.resolve(null!==e&&null!==r&&!isNaN(e)&&!isNaN(r)&&(!isNaN(i)&&"length"!==o||"value"===o?(i=Number(i),e=Number(e),r=Number(r),i>e&&i<r):("string"==typeof i||"length"===o)&&(i=isNaN(i)?i:i.toString()).length>e&&i.length<r))},confirm:function(t,e){var r,o,i=t.value,n=t.getGroupValues,s=t.name;return Promise.resolve((r=n(),(o=e)||(o=/_confirm$/.test(s)?s.substr(0,s.length-8):s+"_confirm"),r[o]===i))},date:function(t,e){var r=t.value;return void 0===e&&(e=!1),Promise.resolve(e&&"string"==typeof e?function(t){var e="^"+t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$",r={MM:"(0[1-9]|1[012])",M:"([1-9]|1[012])",DD:"([012][0-9]|3[01])",D:"([012]?[0-9]|3[01])",YYYY:"\\d{4}",YY:"\\d{2}"};return new RegExp(Object.keys(r).reduce((function(t,e){return t.replace(e,r[e])}),e))}(e).test(r):!isNaN(Date.parse(r)))},email:function(t){var e=t.value;return Promise.resolve(/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(e))},endsWith:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve("string"==typeof e&&r.length?void 0!==r.find((function(t){return e.endsWith(t)})):"string"==typeof e&&0===r.length)},in:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(void 0!==r.find((function(t){return"object"==typeof t?n(t,e):t===e})))},matches:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(!!r.find((function(t){return"string"==typeof t&&"/"===t.substr(0,1)&&"/"===t.substr(-1)&&(t=new RegExp(t.substr(1,t.length-2))),t instanceof RegExp?t.test(e):t===e})))},mime:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(function(){if(e instanceof b)for(var t=e.getFiles(),o=0;o<t.length;o++){var i=t[o].file;if(!r.includes(i.type))return!1}return!0}())},min:function(t,e,r){var o=t.value;return void 0===e&&(e=1),Promise.resolve(Array.isArray(o)?(e=isNaN(e)?e:Number(e),o.length>=e):!isNaN(o)&&"length"!==r||"value"===r?(o=isNaN(o)?o:Number(o))>=e:("string"==typeof o||"length"===r)&&(o=isNaN(o)?o:o.toString()).length>=e)},max:function(t,e,r){var o=t.value;return void 0===e&&(e=10),Promise.resolve(Array.isArray(o)?(e=isNaN(e)?e:Number(e),o.length<=e):!isNaN(o)&&"length"!==r||"value"===r?(o=isNaN(o)?o:Number(o))<=e:("string"==typeof o||"length"===r)&&(o=isNaN(o)?o:o.toString()).length<=e)},not:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve(void 0===r.find((function(t){return"object"==typeof t?n(t,e):t===e})))},number:function(t){var e=t.value;return Promise.resolve(!isNaN(e))},required:function(t,e){var r=t.value;return void 0===e&&(e="pre"),Promise.resolve(Array.isArray(r)?!!r.length:r instanceof b?r.getFiles().length>0:"string"==typeof r?"trim"===e?!!r.trim():!!r:"object"!=typeof r||!!r&&!!Object.keys(r).length)},startsWith:function(t){for(var e=t.value,r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return Promise.resolve("string"==typeof e&&r.length?void 0!==r.find((function(t){return e.startsWith(t)})):"string"==typeof e&&0===r.length)},url:function(t){var e=t.value;return Promise.resolve(function(t){if("string"!=typeof t)return!1;var e=t.match(x);if(!e)return!1;var r=e[1];return!!r&&!(!y.test(r)&&!g.test(r))}(e))},bail:function(){return Promise.resolve(!0)},optional:function(t){var e=t.value;return Promise.resolve(!f(e))}},F="image/",w={csv:"text/csv",gif:F+"gif",jpg:F+"jpeg",jpeg:F+"jpeg",png:F+"png",pdf:"application/pdf",svg:F+"svg+xml"},O=["outer","wrapper","label","element","input","help","errors","error","decorator","rangeValue","uploadArea","uploadAreaMask","files","file","fileName","fileAdd","fileAddInput","fileRemove","fileProgress","fileUploadError","fileImagePreview","fileImagePreviewImage","fileProgressInner","grouping","groupRepeatable","groupRepeatableRemove","groupAddMore","form","formErrors","formError"],P={hasErrors:function(t){return t.hasErrors},hasValue:function(t){return t.hasValue},isValid:function(t){return t.isValid}},V=function(t,e,r){var o=[];switch(e){case"label":o.push(t+"--"+r.labelPosition);break;case"element":var i="group"===r.classification?"group":r.type;o.push(t+"--"+i),"group"===i&&o.push("formulate-input-group");break;case"help":o.push(t+"--"+r.helpPosition);break;case"form":r.name&&o.push(t+"--"+r.name)}return o},A=(E=[""].concat(Object.keys(P).map((function(t){return a(t)}))),O.reduce((function(t,e){return t.concat(E.reduce((function(t,r){return t.push(""+e+r+"Class"),t}),[]))}),[]));function S(t,e,r){switch(typeof e){case"string":return e;case"function":return e(r,l(t));case"object":if(Array.isArray(e))return l(t).concat(e);default:return t}}function j(t){return O.reduce((function(e,r){var o;return Object.assign(e,((o={})[r]=function(t,e){var r=t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()})),o="formulate"+(["form","file"].includes(r.substr(0,4))?"":"-input")+(["decorator","range-value"].includes(r)?"-element":"")+("outer"!==r?"-"+r:"");return"input"===r?[]:[o].concat(V(o,t,e))}(r,t),o))}),{})}function $(t,e,r,o){return new Promise((function(r,i){var n=(o.fauxUploaderDuration||1500)*(.5+Math.random()),s=performance.now(),a=function(){return setTimeout((function(){var o=performance.now()-s,i=Math.min(100,Math.round(o/n*100));if(e(i),i>=100)return r({url:"http://via.placeholder.com/350x150.png",name:t.name});a()}),20)};a()}))}function C(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var k={inheritAttrs:!1,functional:!0,render:function(t,e){for(var r=e.props,o=e.data,i=e.parent,n=e.children,s=i,a=(r.name,r.forceWrap),l=r.context,u=C(r,["name","forceWrap","context"]);s&&"FormulateInput"!==s.$options.name;)s=s.$parent;if(!s)return null;if(s.$scopedSlots&&s.$scopedSlots[r.name])return s.$scopedSlots[r.name](Object.assign({},l,u));if(Array.isArray(n)&&(n.length>1||a&&n.length>0)){var c=o.attrs,d=(c.name,c.context,C(c,["name","context"]));return t("div",Object.assign({},o,{attrs:d}),n)}return Array.isArray(n)&&1===n.length?n[0]:null}};function I(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r={}),t&&"object"==typeof t&&!Array.isArray(t)){var o=t.children;void 0===o&&(o=null);var i=t.component;void 0===i&&(i="FormulateInput");var n=t.depth;void 0===n&&(n=1);var s=t.key;void 0===s&&(s=null);var a=function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["children","component","depth","key"]),l=a.class||{};delete a.class;var u={},c=Object.keys(a).reduce((function(t,e){var r;return/^@/.test(e)?Object.assign(t,((r={})[e.substr(1)]=a[e],r)):t}),{});Object.keys(c).forEach((function(t){delete a["@"+t],u[t]=function(t,e,r){return function(){for(var o,i,n=[],s=arguments.length;s--;)n[s]=arguments[s];return"function"==typeof e?e.call.apply(e,[this].concat(n)):"string"==typeof e&&p(r,e)?(o=r[e]).call.apply(o,[this].concat(n)):p(r,t)?(i=r[t]).call.apply(i,[this].concat(n)):void 0}}(t,c[t],r)}));var d="FormulateInput"===i?a.type||"text":i,h=a.name||d||"el";s||(s=a.id?a.id:"FormulateInput"!==i&&"string"==typeof o?d+"-"+function(t,e){void 0===e&&(e=0);for(var r=3735928559^e,o=1103547991^e,i=0,n=void 0;i<t.length;i++)n=t.charCodeAt(i),r=Math.imul(r^n,2654435761),o=Math.imul(o^n,1597334677);return r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),4294967296*(2097151&(o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909)))+(r>>>0)}(o):d+"-"+h+"-"+n+(a.name?"":"-"+e));var f=Array.isArray(o)?o.map((function(t){return Object.assign(t,{depth:n+1})})):o;return Object.assign({key:s,depth:n,attrs:a,component:i,class:l,on:u},f?{children:f}:{})}return null}var R={functional:!0,render:function(t,e){var r=e.props,o=e.listeners;return function t(e,r,o){return Array.isArray(r)?r.map((function(r,i){var n=I(r,i,o);return e(n.component,{attrs:n.attrs,class:n.class,key:n.key,on:n.on},n.children?t(e,n.children,o):null)})):r}(t,r.schema,o)}};function D(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var L=function(t){this.registry=new Map,this.errors={},this.ctx=t};function N(t){return new L(t).dataProps()}function M(t){return{hasInitialValue:function(){return this.formulateValue&&"object"==typeof this.formulateValue||this.values&&"object"==typeof this.values||this.isGrouping&&"object"==typeof this.context.model[this.index]},isVmodeled:function(){return!!(this.$options.propsData.hasOwnProperty("formulateValue")&&this._events&&Array.isArray(this._events.input)&&this._events.input.length)},initialValues:function(){return p(this.$options.propsData,"formulateValue")&&"object"==typeof this.formulateValue?Object.assign({},this.formulateValue):p(this.$options.propsData,"values")&&"object"==typeof this.values?Object.assign({},this.values):this.isGrouping&&"object"==typeof this.context.model[this.index]?this.context.model[this.index]:{}},mergedGroupErrors:function(){var t=this,e=/^([^.\d+].*?)\.(\d+\..+)$/;return Object.keys(this.mergedFieldErrors).filter((function(t){return e.test(t)})).reduce((function(r,o){var i,n=o.match(e),s=n[1],a=n[2];return r[s]||(r[s]={}),Object.assign(r[s],((i={})[a]=t.mergedFieldErrors[o],i)),r}),{})}}}function B(t){void 0===t&&(t=[]);var e={applyInitialValues:function(){this.hasInitialValue&&(this.proxy=Object.assign({},this.initialValues))},setFieldValue:function(t,e){var r;if(void 0===e){var o=this.proxy,i=(o[t],D(o,[String(t)]));this.proxy=i}else Object.assign(this.proxy,((r={})[t]=e,r));this.$emit("input",Object.assign({},this.proxy))},valueDeps:function(t){var e=this;return Object.keys(this.proxy).reduce((function(r,o){return Object.defineProperty(r,o,{enumerable:!0,get:function(){var r=e.registry.get(o);return e.deps.set(t,e.deps.get(t)||new Set),r&&(e.deps.set(r,e.deps.get(r)||new Set),e.deps.get(r).add(t.name)),e.deps.get(t).add(o),e.proxy[o]}})}),Object.create(null))},validateDeps:function(t){var e=this;this.deps.has(t)&&this.deps.get(t).forEach((function(t){return e.registry.has(t)&&e.registry.get(t).performValidation()}))},hasValidationErrors:function(){return Promise.all(this.registry.reduce((function(t,e,r){return t.push(e.performValidation()&&e.getValidationErrors()),t}),[])).then((function(t){return t.some((function(t){return t.hasErrors}))}))},showErrors:function(){this.childrenShouldShowErrors=!0,this.registry.map((function(t){t.formShouldShowErrors=!0}))},hideErrors:function(){this.childrenShouldShowErrors=!1,this.registry.map((function(t){t.formShouldShowErrors=!1,t.behavioralErrorVisibility=!1}))},setValues:function(t){var e=this;Array.from(new Set(Object.keys(t||{}).concat(Object.keys(this.proxy)))).forEach((function(r){var o=e.registry.has(r)&&e.registry.get(r),i=t?t[r]:void 0;o&&!n(o.proxy,i,!0)&&(o.context.model=i),n(i,e.proxy[r],!0)||e.setFieldValue(r,i)}))},updateValidation:function(t){p(this.registry.errors,t.name)&&(this.registry.errors[t.name]=t.hasErrors),this.$emit("validation",t)},addErrorObserver:function(t){this.errorObservers.find((function(e){return t.callback===e.callback}))||(this.errorObservers.push(t),"form"===t.type?t.callback(this.mergedFormErrors):"group"===t.type&&p(this.mergedGroupErrors,t.field)?t.callback(this.mergedGroupErrors[t.field]):p(this.mergedFieldErrors,t.field)&&t.callback(this.mergedFieldErrors[t.field]))},removeErrorObserver:function(t){this.errorObservers=this.errorObservers.filter((function(e){return e.callback!==t}))}};return Object.keys(e).reduce((function(r,o){var i;return t.includes(o)?r:Object.assign({},r,((i={})[o]=e[o],i))}),{})}function U(t,e){void 0===e&&(e=[]);var r={formulateSetter:t.setFieldValue,formulateRegister:t.register,formulateDeregister:t.deregister,formulateFieldValidation:t.updateValidation,getFormValues:t.valueDeps,getGroupValues:t.valueDeps,validateDependents:t.validateDeps,observeErrors:t.addErrorObserver,removeErrorObserver:t.removeErrorObserver};return Object.keys(r).filter((function(t){return!e.includes(t)})).reduce((function(t,e){var o;return Object.assign(t,((o={})[e]=r[e],o))}),{})}L.prototype.add=function(t,e){var r;return this.registry.set(t,e),this.errors=Object.assign({},this.errors,((r={})[t]=e.getErrorObject().hasErrors,r)),this},L.prototype.remove=function(t){this.ctx.deps.delete(this.registry.get(t)),this.ctx.deps.forEach((function(e){return e.delete(t)}));var e=this.ctx.keepModelData;!e&&this.registry.has(t)&&"inherit"!==this.registry.get(t).keepModelData&&(e=this.registry.get(t).keepModelData),this.ctx.preventCleanup&&(e=!0),this.registry.delete(t);var r=this.errors,o=(r[t],D(r,[String(t)]));if(this.errors=o,!e){var i=this.ctx.proxy,n=(i[t],D(i,[String(t)]));this.ctx.uuid&&h(n,this.ctx.uuid),this.ctx.proxy=n,this.ctx.$emit("input",this.ctx.proxy)}return this},L.prototype.has=function(t){return this.registry.has(t)},L.prototype.get=function(t){return this.registry.get(t)},L.prototype.map=function(t){var e={};return this.registry.forEach((function(r,o){var i;return Object.assign(e,((i={})[o]=t(r,o),i))})),e},L.prototype.keys=function(){return Array.from(this.registry.keys())},L.prototype.register=function(t,e){var r=this;if(p(e.$options.propsData,"ignored"))return!1;if(this.registry.has(t))return this.ctx.$nextTick((function(){return!r.registry.has(t)&&r.register(t,e)})),!1;this.add(t,e);var o=p(e.$options.propsData,"formulateValue"),i=p(e.$options.propsData,"value"),s=this.ctx.debounce||this.ctx.debounceDelay||this.ctx.context&&this.ctx.context.debounceDelay;s&&!p(e.$options.propsData,"debounce")&&(e.debounceDelay=s),o||!this.ctx.hasInitialValue||f(this.ctx.initialValues[t])?!o&&!i||n(e.proxy,this.ctx.initialValues[t],!0)||this.ctx.setFieldValue(t,e.proxy):e.context.model=this.ctx.initialValues[t],this.childrenShouldShowErrors&&(e.formShouldShowErrors=!0)},L.prototype.reduce=function(t,e){return this.registry.forEach((function(r,o){e=t(e,r,o)})),e},L.prototype.dataProps=function(){var t=this;return{proxy:{},registry:this,register:this.register.bind(this),deregister:function(e){return t.remove(e)},childrenShouldShowErrors:!1,errorObservers:[],deps:new Map,preventCleanup:!1}};var G=function(t){this.form=t};function T(t,e,r,o,i,n,s,a,l,u){"boolean"!=typeof s&&(l=a,a=s,s=!1);var c,d="function"==typeof r?r.options:r;if(t&&t.render&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0,i&&(d.functional=!0)),o&&(d._scopeId=o),n?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(n)},d._ssrRegister=c):e&&(c=s?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),c)if(d.functional){var p=d.render;d.render=function(t,e){return c.call(e),p(t,e)}}else{var h=d.beforeCreate;d.beforeCreate=h?[].concat(h,c):[c]}return r}G.prototype.hasValidationErrors=function(){return this.form.hasValidationErrors()},G.prototype.values=function(){var t=this;return new Promise((function(e,r){var o=[],i=function t(e){if("object"!=typeof e)return e;var r=Array.isArray(e)?[]:{};for(var o in e)e[o]instanceof b||d(e[o])?r[o]=e[o]:r[o]=t(e[o]);return r}(t.form.proxy),n=function(e){"object"==typeof t.form.proxy[e]&&t.form.proxy[e]instanceof b&&o.push(t.form.proxy[e].upload().then((function(t){var r;return Object.assign(i,((r={})[e]=t,r))})))};for(var s in i)n(s);Promise.all(o).then((function(){return e(i)})).catch((function(t){return r(t)}))}))};var q={name:"FormulateForm",inheritAttrs:!1,provide:function(){return Object.assign({},U(this,["getGroupValues"]),{observeContext:this.addContextObserver,removeContextObserver:this.removeContextObserver})},model:{prop:"formulateValue",event:"input"},props:{name:{type:[String,Boolean],default:!1},formulateValue:{type:Object,default:function(){return{}}},values:{type:[Object,Boolean],default:!1},errors:{type:[Object,Boolean],default:!1},formErrors:{type:Array,default:function(){return[]}},schema:{type:[Array,Boolean],default:!1},keepModelData:{type:[Boolean,String],default:!1},invalidMessage:{type:[Boolean,Function,String],default:!1},debounce:{type:[Boolean,Number],default:!1}},data:function(){return Object.assign({},N(this),{formShouldShowErrors:!1,contextObservers:[],namedErrors:[],namedFieldErrors:{},isLoading:!1,hasFailedSubmit:!1})},computed:Object.assign({},M(),{schemaListeners:function(){var t=this.$listeners;t.submit;return function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["submit"])},pseudoProps:function(){return m(this.$attrs,A.filter((function(t){return/^form/.test(t)})))},attributes:function(){var t=this,e=Object.keys(this.$attrs).filter((function(e){return!p(t.pseudoProps,s(e))})).reduce((function(e,r){var o;return Object.assign({},e,((o={})[r]=t.$attrs[r],o))}),{});return"string"==typeof this.name&&Object.assign(e,{name:this.name}),e},hasErrors:function(){return Object.values(this.registry.errors).some((function(t){return t}))},isValid:function(){return!this.hasErrors},formContext:function(){return{errors:this.mergedFormErrors,pseudoProps:this.pseudoProps,hasErrors:this.hasErrors,value:this.proxy,hasValue:!f(this.proxy),isValid:this.isValid,isLoading:this.isLoading,classes:this.classes}},classes:function(){return this.$formulate.classes(Object.assign({},this.$props,this.pseudoProps,{value:this.proxy,errors:this.mergedFormErrors,hasErrors:this.hasErrors,hasValue:!f(this.proxy),isValid:this.isValid,isLoading:this.isLoading,type:"form",classification:"form",attrs:this.$attrs}))},invalidErrors:function(){if(this.hasFailedSubmit&&this.hasErrors)switch(typeof this.invalidMessage){case"string":return[this.invalidMessage];case"object":return Array.isArray(this.invalidMessage)?this.invalidMessage:[];case"function":var t=this.invalidMessage(this.failingFields);return Array.isArray(t)?t:[t]}return[]},mergedFormErrors:function(){return this.formErrors.concat(this.namedErrors).concat(this.invalidErrors)},mergedFieldErrors:function(){var t={};if(this.errors)for(var e in this.errors)t[e]=l(this.errors[e]);for(var r in this.namedFieldErrors)t[r]=l(this.namedFieldErrors[r]);return t},hasFormErrorObservers:function(){return!!this.errorObservers.filter((function(t){return"form"===t.type})).length},failingFields:function(){var t=this;return Object.keys(this.registry.errors).reduce((function(e,r){var o;return Object.assign({},e,t.registry.errors[r]?((o={})[r]=t.registry.get(r),o):{})}),{})}}),watch:Object.assign({},{mergedFieldErrors:{handler:function(t){this.errorObservers.filter((function(t){return"input"===t.type})).forEach((function(e){return e.callback(t[e.field]||[])}))},immediate:!0},mergedGroupErrors:{handler:function(t){this.errorObservers.filter((function(t){return"group"===t.type})).forEach((function(e){return e.callback(t[e.field]||{})}))},immediate:!0}},{formulateValue:{handler:function(t){this.isVmodeled&&t&&"object"==typeof t&&this.setValues(t)},deep:!0},mergedFormErrors:function(t){this.errorObservers.filter((function(t){return"form"===t.type})).forEach((function(e){return e.callback(t)}))}}),created:function(){this.$formulate.register(this),this.applyInitialValues(),this.$emit("created",this)},destroyed:function(){this.$formulate.deregister(this)},methods:Object.assign({},B(),{applyErrors:function(t){var e=t.formErrors,r=t.inputErrors;this.namedErrors=e,this.namedFieldErrors=r},addContextObserver:function(t){this.contextObservers.find((function(e){return e===t}))||(this.contextObservers.push(t),t(this.formContext))},removeContextObserver:function(t){this.contextObservers.filter((function(e){return e!==t}))},registerErrorComponent:function(t){this.errorComponents.includes(t)||this.errorComponents.push(t)},formSubmitted:function(){var t=this;if(!this.isLoading){this.isLoading=!0,this.showErrors();var e=new G(this),r=this.$listeners["submit-raw"]||this.$listeners.submitRaw,o="function"==typeof r?r(e):Promise.resolve(e);return(o instanceof Promise?o:Promise.resolve(o)).then((function(t){var r=t instanceof G?t:e;return r.hasValidationErrors().then((function(t){return[r,t]}))})).then((function(e){var r=e[0];return e[1]||"function"!=typeof t.$listeners.submit?t.onFailedValidation():r.values().then((function(e){t.hasFailedSubmit=!1;var r=t.$listeners.submit(e);return(r instanceof Promise?r:Promise.resolve()).then((function(){return e}))}))})).finally((function(){t.isLoading=!1}))}},onFailedValidation:function(){return this.hasFailedSubmit=!0,this.$emit("failed-validation",Object.assign({},this.failingFields)),this.$formulate.failedValidation(this)}})},H=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("form",t._b({class:t.classes.form,on:{submit:function(e){return e.preventDefault(),t.formSubmitted(e)}}},"form",t.attributes,!1),[t.schema?r("FormulateSchema",t._g({attrs:{schema:t.schema}},t.schemaListeners)):t._e(),t._v(" "),t.hasFormErrorObservers?t._e():r("FormulateErrors",{attrs:{context:t.formContext}}),t._v(" "),t._t("default",null,null,t.formContext)],2)};H._withStripped=!0;var W=T({render:H,staticRenderFns:[]},void 0,q,void 0,!1,void 0,!1,void 0,void 0,void 0);var Y={context:function(){return J.call(this,Object.assign({},{addLabel:this.logicalAddLabel,removeLabel:this.logicalRemoveLabel,attributes:this.elementAttributes,blurHandler:Z.bind(this),classification:this.classification,component:this.component,debounceDelay:this.debounceDelay,disableErrors:this.disableErrors,errors:this.explicitErrors,formShouldShowErrors:this.formShouldShowErrors,getValidationErrors:this.getValidationErrors.bind(this),groupErrors:this.mergedGroupErrors,hasGivenName:this.hasGivenName,hasValue:this.hasValue,hasLabel:this.label&&"button"!==this.classification,hasValidationErrors:this.hasValidationErrors.bind(this),help:this.help,helpPosition:this.logicalHelpPosition,id:this.id||this.defaultId,ignored:p(this.$options.propsData,"ignored"),isValid:this.isValid,imageBehavior:this.imageBehavior,label:this.label,labelPosition:this.logicalLabelPosition,limit:this.limit===1/0?this.limit:parseInt(this.limit,10),name:this.nameOrFallback,minimum:parseInt(this.minimum,10),performValidation:this.performValidation.bind(this),pseudoProps:this.pseudoProps,preventWindowDrops:this.preventWindowDrops,removePosition:this.mergedRemovePosition,repeatable:this.repeatable,rootEmit:this.$emit.bind(this),rules:this.ruleDetails,setErrors:this.setErrors.bind(this),showValidationErrors:this.showValidationErrors,slotComponents:this.slotComponents,slotProps:this.slotProps,type:this.type,uploadBehavior:this.uploadBehavior,uploadUrl:this.mergedUploadUrl,uploader:this.uploader||this.$formulate.getUploader(),validationErrors:this.validationErrors,value:this.value,visibleValidationErrors:this.visibleValidationErrors,isSubField:this.isSubField,classes:this.classes},this.typeContext))},nameOrFallback:function(){if(!0===this.name&&"button"!==this.classification){var t=this.id||this.elementAttributes.id.replace(/[^0-9]/g,"");return this.type+"_"+t}if(!1===this.name||"button"===this.classification&&!0===this.name)return!1;return this.name},hasGivenName:function(){return"boolean"!=typeof this.name},typeContext:function(){var t=this;switch(this.classification){case"select":return{options:z.call(this,this.options),optionGroups:!!this.optionGroups&&i(this.optionGroups,(function(e,r){return z.call(t,r)})),placeholder:this.$attrs.placeholder||!1};case"slider":return{showValue:!!this.showValue};default:return this.options?{options:z.call(this,this.options)}:{}}},elementAttributes:function(){var t=Object.assign({},this.filteredAttributes);this.id?t.id=this.id:t.id=this.defaultId;this.hasGivenName&&(t.name=this.name);this.help&&!p(t,"aria-describedby")&&(t["aria-describedby"]=t.id+"-help");!this.classes.input||Array.isArray(this.classes.input)&&!this.classes.input.length||(t.class=this.classes.input);return t},logicalLabelPosition:function(){if(this.labelPosition)return this.labelPosition;switch(this.classification){case"box":return"after";default:return"before"}},logicalHelpPosition:function(){if(this.helpPosition)return this.helpPosition;switch(this.classification){case"group":return"before";default:return"after"}},mergedRemovePosition:function(){return"group"===this.type&&(this.removePosition||"before")},mergedUploadUrl:function(){return this.uploadUrl||this.$formulate.getUploadUrl()},mergedGroupErrors:function(){var t=this,e=Object.keys(this.groupErrors).concat(Object.keys(this.localGroupErrors)),r=/^(\d+)\.(.*)$/;return Array.from(new Set(e)).filter((function(t){return r.test(t)})).reduce((function(e,o){var i,n=o.match(r),s=n[1],a=n[2];p(e,s)||(e[s]={});var u=Array.from(new Set(l(t.groupErrors[o]).concat(l(t.localGroupErrors[o]))));return e[s]=Object.assign(e[s],((i={})[a]=u,i)),e}),{})},hasValue:function(){var t=this,e=this.proxy;if("box"===this.classification&&this.isGrouped||"select"===this.classification&&p(this.filteredAttributes,"multiple"))return Array.isArray(e)?e.some((function(e){return e===t.value})):this.value===e;return!f(e)},visibleValidationErrors:function(){return this.showValidationErrors&&this.validationErrors.length?this.validationErrors:[]},slotComponents:function(){var t=this.$formulate.slotComponent.bind(this.$formulate);return{addMore:t(this.type,"addMore"),buttonContent:t(this.type,"buttonContent"),errors:t(this.type,"errors"),file:t(this.type,"file"),help:t(this.type,"help"),label:t(this.type,"label"),prefix:t(this.type,"prefix"),remove:t(this.type,"remove"),repeatable:t(this.type,"repeatable"),suffix:t(this.type,"suffix"),uploadAreaMask:t(this.type,"uploadAreaMask")}},logicalAddLabel:function(){if("file"===this.classification)return!0===this.addLabel?"+ Add "+a(this.type):this.addLabel;if("boolean"==typeof this.addLabel){var t=this.label||this.name;return"+ "+("string"==typeof t?t+" ":"")+" Add"}return this.addLabel},logicalRemoveLabel:function(){if("boolean"==typeof this.removeLabel)return"Remove";return this.removeLabel},classes:function(){return this.$formulate.classes(Object.assign({},this.$props,this.pseudoProps,{attrs:this.filteredAttributes,classification:this.classification,hasErrors:this.hasVisibleErrors,hasValue:this.hasValue,helpPosition:this.logicalHelpPosition,isValid:this.isValid,labelPosition:this.logicalLabelPosition,type:this.type,value:this.proxy}))},showValidationErrors:function(){if(this.showErrors||this.formShouldShowErrors)return!0;if("file"===this.classification&&"live"===this.uploadBehavior&&X.call(this))return!0;return this.behavioralErrorVisibility},slotProps:function(){var t=this.$formulate.slotProps.bind(this.$formulate);return{label:t(this.type,"label",this.typeProps),help:t(this.type,"help",this.typeProps),errors:t(this.type,"errors",this.typeProps),repeatable:t(this.type,"repeatable",this.typeProps),addMore:t(this.type,"addMore",this.typeProps),remove:t(this.type,"remove",this.typeProps),component:t(this.type,"component",this.typeProps)}},pseudoProps:function(){return m(this.localAttributes,A)},isValid:function(){return!this.hasErrors},ruleDetails:function(){return this.parsedValidation.map((function(t){var e=t[1];return{ruleName:t[2],args:e}}))},isVmodeled:function(){return!!(this.$options.propsData.hasOwnProperty("formulateValue")&&this._events&&Array.isArray(this._events.input)&&this._events.input.length)},mergedValidationName:function(){var t=this,e=this.$formulate.options.validationNameStrategy||["validationName","name","label","type"];if(Array.isArray(e)){return this[e.find((function(e){return"string"==typeof t[e]}))]}if("function"==typeof e)return e.call(this,this);return this.type},explicitErrors:function(){return l(this.errors).concat(this.localErrors).concat(l(this.error))},allErrors:function(){return this.explicitErrors.concat(l(this.validationErrors))},hasVisibleErrors:function(){return Array.isArray(this.validationErrors)&&this.validationErrors.length&&this.showValidationErrors||!!this.explicitErrors.length},hasErrors:function(){return!!this.allErrors.length},filteredAttributes:function(){var t=this,e=Object.keys(this.pseudoProps).concat(Object.keys(this.typeProps));return Object.keys(this.localAttributes).reduce((function(r,o){return e.includes(s(o))||(r[o]=t.localAttributes[o]),r}),{})},typeProps:function(){return m(this.localAttributes,this.$formulate.typeProps(this.type))},listeners:function(){var t=this.$listeners;t.input;return function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}(t,["input"])}};function z(t){return t?(Array.isArray(t)?t:Object.keys(t).map((function(e){return{label:t[e],value:e}}))).map(K.bind(this)):[]}function K(t){return"number"==typeof t&&(t=String(t)),"string"==typeof t?{label:t,value:t,id:this.elementAttributes.id+"_"+t}:("number"==typeof t.value&&(t.value=String(t.value)),Object.assign({value:"",label:"",id:this.elementAttributes.id+"_"+(t.value||t.label)},t))}function Z(){var t=this;"blur"!==this.errorBehavior&&"value"!==this.errorBehavior||(this.behavioralErrorVisibility=!0),this.$nextTick((function(){return t.$emit("blur-context",t.context)}))}function J(t){var e=this;return Object.defineProperty(t,"model",{get:X.bind(this),set:function(t){if(!e.mntd||!e.debounceDelay)return Q.call(e,t);e.dSet(Q,[t],e.debounceDelay)},enumerable:!0})}function X(){var t=this.isVmodeled?"formulateValue":"proxy";return"checkbox"===this.type&&!Array.isArray(this[t])&&this.options?[]:this[t]||0===this[t]?this[t]:""}function Q(t){var e=!1;n(t,this.proxy,"group"===this.type)||(this.proxy=t,e=!0),!this.context.ignored&&this.context.name&&"function"==typeof this.formulateSetter&&this.formulateSetter(this.context.name,t),e&&this.$emit("input",t)}var tt={name:"FormulateInput",inheritAttrs:!1,provide:function(){return{formulateRegisterRule:this.registerRule,formulateRemoveRule:this.removeRule}},inject:{formulateSetter:{default:void 0},formulateFieldValidation:{default:function(){return function(){return{}}}},formulateRegister:{default:void 0},formulateDeregister:{default:void 0},getFormValues:{default:function(){return function(){return{}}}},getGroupValues:{default:void 0},validateDependents:{default:function(){return function(){}}},observeErrors:{default:void 0},removeErrorObserver:{default:void 0},isSubField:{default:function(){return function(){return!1}}}},model:{prop:"formulateValue",event:"input"},props:{type:{type:String,default:"text"},name:{type:[String,Boolean],default:!0},formulateValue:{default:""},value:{default:!1},options:{type:[Object,Array,Boolean],default:!1},optionGroups:{type:[Object,Boolean],default:!1},id:{type:[String,Boolean,Number],default:!1},label:{type:[String,Boolean],default:!1},labelPosition:{type:[String,Boolean],default:!1},limit:{type:[String,Number],default:1/0,validator:function(t){return 1/0}},minimum:{type:[String,Number],default:0,validator:function(t){return parseInt(t,10)==t}},help:{type:[String,Boolean],default:!1},helpPosition:{type:[String,Boolean],default:!1},isGrouped:{type:Boolean,default:!1},errors:{type:[String,Array,Boolean],default:!1},removePosition:{type:[String,Boolean],default:!1},repeatable:{type:Boolean,default:!1},validation:{type:[String,Boolean,Array],default:!1},validationName:{type:[String,Boolean],default:!1},error:{type:[String,Boolean],default:!1},errorBehavior:{type:String,default:"blur",validator:function(t){return["blur","live","submit","value"].includes(t)}},showErrors:{type:Boolean,default:!1},groupErrors:{type:Object,default:function(){return{}},validator:function(t){var e=/^\d+\./;return!Object.keys(t).some((function(t){return!e.test(t)}))}},imageBehavior:{type:String,default:"preview"},uploadUrl:{type:[String,Boolean],default:!1},uploader:{type:[Function,Object,Boolean],default:!1},uploadBehavior:{type:String,default:"live"},preventWindowDrops:{type:Boolean,default:!0},showValue:{type:[String,Boolean],default:!1},validationMessages:{type:Object,default:function(){return{}}},validationRules:{type:Object,default:function(){return{}}},checked:{type:[String,Boolean],default:!1},disableErrors:{type:Boolean,default:!1},addLabel:{type:[Boolean,String],default:!0},removeLabel:{type:[Boolean,String],default:!1},keepModelData:{type:[Boolean,String],default:"inherit"},ignored:{type:[Boolean,String],default:!1},debounce:{type:[Boolean,Number],default:!1},preventDeregister:{type:Boolean,default:!1}},data:function(){return{defaultId:this.$formulate.nextId(this),localAttributes:{},localErrors:[],localGroupErrors:{},proxy:this.getInitialValue(),behavioralErrorVisibility:"live"===this.errorBehavior,formShouldShowErrors:!1,validationErrors:[],pendingValidation:Promise.resolve(),ruleRegistry:[],messageRegistry:{},touched:!1,debounceDelay:this.debounce,dSet:function(e,r,o){var i=this;t&&clearTimeout(t),t=setTimeout((function(){return e.call.apply(e,[i].concat(r))}),o)},mntd:!1};var t},computed:Object.assign({},Y,{classification:function(){var t=this.$formulate.classify(this.type);return"box"===t&&this.options?"group":t},component:function(){return"group"===this.classification?"FormulateInputGroup":this.$formulate.component(this.type)},parsedValidationRules:function(){var t=this,e={};return Object.keys(this.validationRules).forEach((function(r){e[s(r)]=t.validationRules[r]})),e},parsedValidation:function(){return u(this.validation,this.$formulate.rules(this.parsedValidationRules))},messages:function(){var t=this,e={};return Object.keys(this.validationMessages).forEach((function(r){e[s(r)]=t.validationMessages[r]})),Object.keys(this.messageRegistry).forEach((function(r){e[s(r)]=t.messageRegistry[r]})),e}}),watch:{$attrs:{handler:function(t){this.updateLocalAttributes(t)},deep:!0},proxy:{handler:function(t,e){this.performValidation(),this.isVmodeled||n(t,e,"group"===this.type)||(this.context.model=t),this.validateDependents(this),!this.touched&&t&&(this.touched=!0)},deep:!0},formulateValue:{handler:function(t,e){this.isVmodeled&&!n(t,e,"group"===this.type)&&(this.context.model=t)},deep:!0},showValidationErrors:{handler:function(t){this.$emit("error-visibility",t)},immediate:!0},validation:{handler:function(){this.performValidation()},deep:!0},touched:function(t){"value"===this.errorBehavior&&t&&(this.behavioralErrorVisibility=t)},debounce:function(t){this.debounceDelay=t}},created:function(){this.applyInitialValue(),this.formulateRegister&&"function"==typeof this.formulateRegister&&this.formulateRegister(this.nameOrFallback,this),this.applyDefaultValue(),this.disableErrors||"function"!=typeof this.observeErrors||(this.observeErrors({callback:this.setErrors,type:"input",field:this.nameOrFallback}),"group"===this.type&&this.observeErrors({callback:this.setGroupErrors,type:"group",field:this.nameOrFallback})),this.updateLocalAttributes(this.$attrs),this.performValidation(),this.hasValue&&(this.touched=!0)},mounted:function(){this.mntd=!0},beforeDestroy:function(){this.disableErrors||"function"!=typeof this.removeErrorObserver||(this.removeErrorObserver(this.setErrors),"group"===this.type&&this.removeErrorObserver(this.setGroupErrors)),"function"!=typeof this.formulateDeregister||this.preventDeregister||this.formulateDeregister(this.nameOrFallback)},methods:{getInitialValue:function(){var t=this.$formulate.classify(this.type);return"box"===(t="box"===t&&this.options?"group":t)&&this.checked?this.value||!0:p(this.$options.propsData,"value")&&"box"!==t?this.value:p(this.$options.propsData,"formulateValue")?this.formulateValue:"group"===t?Object.defineProperty("group"===this.type?[{}]:[],"__init",{value:!0}):""},applyInitialValue:function(){n(this.context.model,this.proxy)||"box"===this.classification&&!p(this.$options.propsData,"options")||(this.context.model=this.proxy,this.$emit("input",this.proxy))},applyDefaultValue:function(){"select"===this.type&&!this.context.placeholder&&f(this.proxy)&&!this.isVmodeled&&!1===this.value&&this.context.options.length&&(p(this.$attrs,"multiple")?this.context.model=[]:this.context.model=this.context.options[0].value)},updateLocalAttributes:function(t){n(t,this.localAttributes)||(this.localAttributes=t)},performValidation:function(){var t=this,e=u(this.validation,this.$formulate.rules(this.parsedValidationRules));return e=this.ruleRegistry.length?this.ruleRegistry.concat(e):e,this.pendingValidation=this.runRules(e).then((function(e){return t.didValidate(e)})),this.pendingValidation},runRules:function(t){var e=this,r=function(t){var r=t[0],o=t[1],i=t[2],n=(t[3],r.apply(void 0,[{value:e.context.model,getFormValues:function(){for(var t,r=[],o=arguments.length;o--;)r[o]=arguments[o];return(t=e).getFormValues.apply(t,[e].concat(r))},getGroupValues:function(){for(var t,r=[],o=arguments.length;o--;)r[o]=arguments[o];return(t=e)["get"+(e.getGroupValues?"Group":"Form")+"Values"].apply(t,[e].concat(r))},name:e.context.name}].concat(o)));return(n=n instanceof Promise?n:Promise.resolve(n)).then((function(t){return!t&&e.getMessage(i,o)}))};return new Promise((function(e){var o=function(t,i){void 0===i&&(i=[]);var n=t.shift();Array.isArray(n)&&n.length?Promise.all(n.map(r)).then((function(t){return t.filter((function(t){return!!t}))})).then((function(r){return(r=Array.isArray(r)?r:[]).length&&n.bail||!t.length?e(i.concat(r).filter((function(t){return!f(t)}))):o(t,i.concat(r))})):e([])};o(function(t){var e=[],r=t.findIndex((function(t){return"bail"===t[2].toLowerCase()})),o=t.findIndex((function(t){return"optional"===t[2].toLowerCase()}));if(o>=0){var i=t.splice(o,1);e.push(Object.defineProperty(i,"bail",{value:!0}))}if(r>=0){var n=t.splice(0,r+1).slice(0,-1);n.length&&e.push(n),t.map((function(t){return e.push(Object.defineProperty([t],"bail",{value:!0}))}))}else e.push(t);return e.reduce((function(t,e){var r=function(t,e){if(void 0===e&&(e=!1),t.length<2)return Object.defineProperty([t],"bail",{value:e});var o=[],i=t.findIndex((function(t){return"^"===t[3]}));if(i>=0){var n=t.splice(0,i);n.length&&o.push.apply(o,r(n,e)),o.push(Object.defineProperty([t.shift()],"bail",{value:!0})),t.length&&o.push.apply(o,r(t,e))}else o.push(t);return o};return t.concat(r(e))}),[])}(t))}))},didValidate:function(t){var e=!n(t,this.validationErrors);if(this.validationErrors=t,e){var r=this.getErrorObject();this.$emit("validation",r),this.formulateFieldValidation&&"function"==typeof this.formulateFieldValidation&&this.formulateFieldValidation(r)}},getMessage:function(t,e){var r=this;return this.getMessageFunc(t)({args:e,name:this.mergedValidationName,value:this.context.model,vm:this,formValues:this.getFormValues(this),getFormValues:function(){for(var t,e=[],o=arguments.length;o--;)e[o]=arguments[o];return(t=r).getFormValues.apply(t,[r].concat(e))},getGroupValues:function(){for(var t,e=[],o=arguments.length;o--;)e[o]=arguments[o];return(t=r)["get"+(r.getGroupValues?"Group":"Form")+"Values"].apply(t,[r].concat(e))}})},getMessageFunc:function(t){var e=this;if("optional"===(t=s(t)))return function(){return[]};if(this.messages&&void 0!==this.messages[t])switch(typeof this.messages[t]){case"function":return this.messages[t];case"string":case"boolean":return function(){return e.messages[t]}}return function(r){return e.$formulate.validationMessage(t,r,e)}},hasValidationErrors:function(){var t=this;return new Promise((function(e){t.$nextTick((function(){t.pendingValidation.then((function(){return e(!!t.validationErrors.length)}))}))}))},getValidationErrors:function(){var t=this;return new Promise((function(e){t.$nextTick((function(){return t.pendingValidation.then((function(){return e(t.getErrorObject())}))}))}))},getErrorObject:function(){return{name:this.context.nameOrFallback||this.context.name,errors:this.validationErrors.filter((function(t){return"string"==typeof t})),hasErrors:!!this.validationErrors.length}},setErrors:function(t){this.localErrors=l(t)},setGroupErrors:function(t){this.localGroupErrors=t},registerRule:function(t,e,r,o){void 0===o&&(o=null),this.ruleRegistry.some((function(t){return t[2]===r}))||(this.ruleRegistry.push([t,e,r]),null!==o&&(this.messageRegistry[r]=o))},removeRule:function(t){var e=this.ruleRegistry.findIndex((function(e){return e[2]===t}));e>=0&&(this.ruleRegistry.splice(e,1),delete this.messageRegistry[t])}}},et=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.outer,attrs:{"data-classification":t.classification,"data-has-errors":t.hasErrors,"data-is-showing-errors":t.hasVisibleErrors,"data-has-value":t.hasValue,"data-type":t.type}},[r("div",{class:t.context.classes.wrapper},["before"===t.context.labelPosition?t._t("label",[t.context.hasLabel?r(t.context.slotComponents.label,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.label,!1)):t._e()],null,t.context):t._e(),t._v(" "),"before"===t.context.helpPosition?t._t("help",[t.context.help?r(t.context.slotComponents.help,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.help,!1)):t._e()],null,t.context):t._e(),t._v(" "),t._t("element",[r(t.context.component,t._g(t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.component,!1),t.listeners),[t._t("default",null,null,t.context)],2)],null,t.context),t._v(" "),"after"===t.context.labelPosition?t._t("label",[t.context.hasLabel?r(t.context.slotComponents.label,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.label,!1)):t._e()],null,t.context):t._e()],2),t._v(" "),"after"===t.context.helpPosition?t._t("help",[t.context.help?r(t.context.slotComponents.help,t._b({tag:"component",attrs:{context:t.context}},"component",t.context.slotProps.help,!1)):t._e()],null,t.context):t._e(),t._v(" "),t._t("errors",[t.context.disableErrors?t._e():r(t.context.slotComponents.errors,t._b({tag:"component",attrs:{type:"FormulateErrors"===t.context.slotComponents.errors&&"input",context:t.context}},"component",t.context.slotProps.errors,!1))],null,t.context)],2)};et._withStripped=!0;var rt=T({render:et,staticRenderFns:[]},void 0,tt,void 0,!1,void 0,!1,void 0,void 0,void 0),ot={inject:{observeErrors:{default:!1},removeErrorObserver:{default:!1},observeContext:{default:!1},removeContextObserver:{default:!1}},props:{context:{type:Object,default:function(){return{}}},type:{type:String,default:"form"}},data:function(){return{boundSetErrors:this.setErrors.bind(this),boundSetFormContext:this.setFormContext.bind(this),localErrors:[],formContext:{classes:{formErrors:"formulate-form-errors",formError:"formulate-form-error"}}}},computed:{visibleValidationErrors:function(){return Array.isArray(this.context.visibleValidationErrors)?this.context.visibleValidationErrors:[]},errors:function(){return Array.isArray(this.context.errors)?this.context.errors:[]},mergedErrors:function(){return this.errors.concat(this.localErrors)},visibleErrors:function(){return Array.from(new Set(this.mergedErrors.concat(this.visibleValidationErrors))).filter((function(t){return"string"==typeof t}))},outerClass:function(){return"input"===this.type&&this.context.classes?this.context.classes.errors:this.formContext.classes.formErrors},itemClass:function(){return"input"===this.type&&this.context.classes?this.context.classes.error:this.formContext.classes.formError},role:function(){return"form"===this.type?"alert":"status"},ariaLive:function(){return"form"===this.type?"assertive":"polite"},slotComponent:function(){return this.$formulate.slotComponent(null,"errorList")}},created:function(){"form"===this.type&&"function"==typeof this.observeErrors&&(Array.isArray(this.context.errors)||this.observeErrors({callback:this.boundSetErrors,type:"form"}),this.observeContext(this.boundSetFormContext))},destroyed:function(){"form"===this.type&&"function"==typeof this.removeErrorObserver&&(Array.isArray(this.context.errors)||this.removeErrorObserver(this.boundSetErrors),this.removeContextObserver(this.boundSetFormContext))},methods:{setErrors:function(t){this.localErrors=l(t)},setFormContext:function(t){this.formContext=t}}},it=function(){var t=this.$createElement;return(this._self._c||t)(this.slotComponent,{tag:"component",attrs:{"visible-errors":this.visibleErrors,"item-class":this.itemClass,"outer-class":this.outerClass,role:this.role,"aria-live":this.ariaLive,type:this.type}})};it._withStripped=!0;var nt=T({render:it,staticRenderFns:[]},void 0,ot,void 0,!1,void 0,!1,void 0,void 0,void 0),st={props:{context:{type:Object,required:!0}}},at=function(){var t=this.$createElement,e=this._self._c||t;return this.context.help?e("div",{class:this.context.classes.help,attrs:{id:this.context.id+"-help"},domProps:{textContent:this._s(this.context.help)}}):this._e()};at._withStripped=!0;var lt=T({render:at,staticRenderFns:[]},void 0,st,void 0,!1,void 0,!1,void 0,void 0,void 0),ut={props:{file:{type:Object,required:!0},imagePreview:{type:Boolean,default:!1},context:{type:Object,required:!0}}},ct=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.file},[t.imagePreview&&t.file.previewData?r("div",{class:t.context.classes.fileImagePreview},[r("img",{class:t.context.classes.fileImagePreviewImage,attrs:{src:t.file.previewData}})]):t._e(),t._v(" "),r("div",{class:t.context.classes.fileName,attrs:{title:t.file.name},domProps:{textContent:t._s(t.file.name)}}),t._v(" "),!1!==t.file.progress?r("div",{class:t.context.classes.fileProgress,attrs:{"data-just-finished":t.file.justFinished,"data-is-finished":!t.file.justFinished&&t.file.complete}},[r("div",{class:t.context.classes.fileProgressInner,style:{width:t.file.progress+"%"}})]):t._e(),t._v(" "),t.file.complete&&!t.file.justFinished||!1===t.file.progress?r("div",{class:t.context.classes.fileRemove,on:{click:t.file.removeFile}}):t._e()])};ct._withStripped=!0;var dt=T({render:ct,staticRenderFns:[]},void 0,ut,void 0,!1,void 0,!1,void 0,void 0,void 0),pt={name:"FormulateGrouping",props:{context:{type:Object,required:!0}},provide:function(){return{isSubField:function(){return!0},registerProvider:this.registerProvider,deregisterProvider:this.deregisterProvider}},data:function(){return{providers:[],keys:[]}},inject:["formulateRegisterRule","formulateRemoveRule"],computed:{items:function(){var t=this;return Array.isArray(this.context.model)?this.context.repeatable||0!==this.context.model.length?this.context.model.length<this.context.minimum?new Array(this.context.minimum||1).fill("").map((function(e,r){return t.setId(t.context.model[r]||{},r)})):this.context.model.map((function(e,r){return t.setId(e,r)})):[this.setId({},0)]:new Array(this.context.minimum||1).fill("").map((function(e,r){return t.setId({},r)}))},formShouldShowErrors:function(){return this.context.formShouldShowErrors},groupErrors:function(){var t=this;return this.items.map((function(e,r){return p(t.context.groupErrors,r)?t.context.groupErrors[r]:{}}))}},watch:{providers:function(){this.formShouldShowErrors&&this.showErrors()},formShouldShowErrors:function(t){t&&this.showErrors()},items:{handler:function(t,e){n(t,e,!0)||(this.keys=t.map((function(t){return t.__id})))},immediate:!0}},created:function(){this.formulateRegisterRule(this.validateGroup.bind(this),[],"formulateGrouping",!0)},destroyed:function(){this.formulateRemoveRule("formulateGrouping")},methods:{validateGroup:function(){return Promise.all(this.providers.reduce((function(t,e){return e&&"function"==typeof e.hasValidationErrors&&t.push(e.hasValidationErrors()),t}),[])).then((function(t){return!t.some((function(t){return!!t}))}))},showErrors:function(){this.providers.forEach((function(t){return t&&"function"==typeof t.showErrors&&t.showErrors()}))},setItem:function(t,e){var r=this;Array.isArray(this.context.model)&&this.context.model.length>=this.context.minimum&&!this.context.model.__init?this.context.model.splice(t,1,this.setId(e,t)):this.context.model=this.items.map((function(o,i){return i===t?r.setId(e,t):o}))},removeItem:function(t){var e=this;Array.isArray(this.context.model)&&this.context.model.length>this.context.minimum?(this.context.model=this.context.model.filter((function(e,r){return r!==t&&e})),this.context.rootEmit("repeatableRemoved",this.context.model)):!Array.isArray(this.context.model)&&this.items.length>this.context.minimum&&(this.context.model=new Array(this.items.length-1).fill("").map((function(t,r){return e.setId({},r)})),this.context.rootEmit("repeatableRemoved",this.context.model))},registerProvider:function(t){this.providers.some((function(e){return e===t}))||this.providers.push(t)},deregisterProvider:function(t){this.providers=this.providers.filter((function(e){return e!==t}))},setId:function(t,e){return t.__id?t:h(t,this.keys[e])}}},ht=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("FormulateSlot",{class:t.context.classes.grouping,attrs:{name:"grouping",context:t.context,"force-wrap":t.context.repeatable}},t._l(t.items,(function(e,o){return r("FormulateRepeatableProvider",{key:e.__id,attrs:{index:o,context:t.context,uuid:e.__id,errors:t.groupErrors[o]},on:{remove:t.removeItem,input:function(e){return t.setItem(o,e)}}},[t._t("default")],2)})),1)};ht._withStripped=!0;var ft=T({render:ht,staticRenderFns:[]},void 0,pt,void 0,!1,void 0,!1,void 0,void 0,void 0),mt={props:{context:{type:Object,required:!0}}},vt=function(){var t=this.$createElement;return(this._self._c||t)("label",{class:this.context.classes.label,attrs:{id:this.context.id+"_label",for:this.context.id},domProps:{textContent:this._s(this.context.label)}})};vt._withStripped=!0;var xt=T({render:vt,staticRenderFns:[]},void 0,mt,void 0,!1,void 0,!1,void 0,void 0,void 0),yt={props:{context:{type:Object,required:!0},addMore:{type:Function,required:!0}}},gt=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.context.classes.groupAddMore},[e("FormulateInput",{attrs:{type:"button",label:this.context.addLabel,"data-minor":"","data-ghost":""},on:{click:this.addMore}})],1)};gt._withStripped=!0;var bt=T({render:gt,staticRenderFns:[]},void 0,yt,void 0,!1,void 0,!1,void 0,void 0,void 0),Et={props:{context:{type:Object,required:!0}},computed:{type:function(){return this.context.type},attributes:function(){return this.context.attributes||{}},hasValue:function(){return this.context.hasValue}}},_t={name:"FormulateInputBox",mixins:[Et],computed:{usesDecorator:function(){return this.$formulate.options.useInputDecorators}}},Ft=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{value:t.context.value,checked:t._q(t.context.model,t.context.value)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",t.context.value)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{value:t.context.value,checked:Array.isArray(t.context.model)?t._i(t.context.model,t.context.value)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t.context.value,s=t._i(r,n);o.checked?s<0&&t.$set(t.context,"model",r.concat([n])):s>-1&&t.$set(t.context,"model",r.slice(0,s).concat(r.slice(s+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),t.usesDecorator?r("label",{tag:"component",class:t.context.classes.decorator,attrs:{for:t.attributes.id}}):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Ft._withStripped=!0;var wt=T({render:Ft,staticRenderFns:[]},void 0,_t,void 0,!1,void 0,!1,void 0,void 0,void 0),Ot={props:{visibleErrors:{type:Array,required:!0},itemClass:{type:[String,Array,Object,Boolean],default:!1},outerClass:{type:[String,Array,Object,Boolean],default:!1},role:{type:[String],default:"status"},ariaLive:{type:[String,Boolean],default:"polite"},type:{type:String,required:!0}}},Pt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.visibleErrors.length?r("ul",{class:t.outerClass},t._l(t.visibleErrors,(function(e){return r("li",{key:e,class:t.itemClass,attrs:{role:t.role,"aria-live":t.ariaLive},domProps:{textContent:t._s(e)}})})),0):t._e()};Pt._withStripped=!0;var Vt=T({render:Pt,staticRenderFns:[]},void 0,Ot,void 0,!1,void 0,!1,void 0,void 0,void 0),At={name:"FormulateInputText",mixins:[Et]},St=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"checkbox"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.context.model)?t._i(t.context.model,null)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t._i(r,null);o.checked?n<0&&t.$set(t.context,"model",r.concat([null])):n>-1&&t.$set(t.context,"model",r.slice(0,n).concat(r.slice(n+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)):"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{checked:t._q(t.context.model,null)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",null)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:t.type},domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};St._withStripped=!0;var jt=T({render:St,staticRenderFns:[]},void 0,At,void 0,!1,void 0,!1,void 0,void 0,void 0),$t={name:"FormulateFiles",props:{files:{type:b,required:!0},imagePreview:{type:Boolean,default:!1},context:{type:Object,required:!0}},computed:{fileUploads:function(){return this.files.files||[]},isMultiple:function(){return p(this.context.attributes,"multiple")}},watch:{files:function(){this.imagePreview&&this.files.loadPreviews()}},mounted:function(){this.imagePreview&&this.files.loadPreviews()},methods:{appendFiles:function(){var t=this.$refs.addFiles;t.files.length&&this.files.mergeFileList(t)}}},Ct=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.fileUploads.length?r("ul",{class:t.context.classes.files},[t._l(t.fileUploads,(function(e){return r("li",{key:e.uuid,attrs:{"data-has-error":!!e.error,"data-has-preview":!(!t.imagePreview||!e.previewData)}},[r("FormulateSlot",{attrs:{name:"file",context:t.context,file:e,"image-preview":t.imagePreview}},[r(t.context.slotComponents.file,{tag:"component",attrs:{context:t.context,file:e,"image-preview":t.imagePreview}})],1),t._v(" "),e.error?r("div",{class:t.context.classes.fileUploadError,domProps:{textContent:t._s(e.error)}}):t._e()],1)})),t._v(" "),t.isMultiple&&t.context.addLabel?r("div",{class:t.context.classes.fileAdd,attrs:{role:"button"}},[t._v("\n    "+t._s(t.context.addLabel)+"\n    "),r("input",{ref:"addFiles",class:t.context.classes.fileAddInput,attrs:{type:"file",multiple:""},on:{change:t.appendFiles}})]):t._e()],2):t._e()};Ct._withStripped=!0;var kt={name:"FormulateInputFile",components:{FormulateFiles:T({render:Ct,staticRenderFns:[]},void 0,$t,void 0,!1,void 0,!1,void 0,void 0,void 0)},mixins:[Et],data:function(){return{isOver:!1}},computed:{hasFiles:function(){return!!(this.context.model instanceof b&&this.context.model.files.length)}},created:function(){Array.isArray(this.context.model)&&"string"==typeof this.context.model[0][this.$formulate.getFileUrlKey()]&&(this.context.model=this.$formulate.createUpload({files:this.context.model},this.context))},mounted:function(){window&&this.context.preventWindowDrops&&(window.addEventListener("dragover",this.preventDefault),window.addEventListener("drop",this.preventDefault))},destroyed:function(){window&&this.context.preventWindowDrops&&(window.removeEventListener("dragover",this.preventDefault),window.removeEventListener("drop",this.preventDefault))},methods:{preventDefault:function(t){"INPUT"!==t.target.tagName&&"file"!==t.target.getAttribute("type")&&(t=t||event).preventDefault()},handleFile:function(){var t=this;this.isOver=!1;var e=this.$refs.file;e.files.length&&(this.context.model=this.$formulate.createUpload(e,this.context),this.$nextTick((function(){return t.attemptImmediateUpload()})))},attemptImmediateUpload:function(){var t=this;"live"===this.context.uploadBehavior&&this.context.model instanceof b&&this.context.hasValidationErrors().then((function(e){e||t.context.model.upload()}))},handleDragOver:function(t){t.preventDefault(),this.isOver=!0},handleDragLeave:function(t){t.preventDefault(),this.isOver=!1}}},It=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type,"data-has-files":t.hasFiles}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("div",{class:t.context.classes.uploadArea,attrs:{"data-has-files":t.hasFiles}},[r("input",t._g(t._b({ref:"file",attrs:{"data-is-drag-hover":t.isOver,type:"file"},on:{blur:t.context.blurHandler,change:t.handleFile,dragover:t.handleDragOver,dragleave:t.handleDragLeave}},"input",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"uploadAreaMask",context:t.context,"has-files":t.hasFiles}},[r(t.context.slotComponents.uploadAreaMask,{directives:[{name:"show",rawName:"v-show",value:!t.hasFiles,expression:"!hasFiles"}],tag:"component",class:t.context.classes.uploadAreaMask,attrs:{"has-files":"div"!==t.context.slotComponents.uploadAreaMask&&t.hasFiles,"data-has-files":"div"===t.context.slotComponents.uploadAreaMask&&t.hasFiles}})],1),t._v(" "),t.hasFiles?r("FormulateFiles",{attrs:{files:t.context.model,"image-preview":"image"===t.context.type&&"preview"===t.context.imageBehavior,context:t.context}}):t._e()],1),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};It._withStripped=!0;var Rt=T({render:It,staticRenderFns:[]},void 0,kt,void 0,!1,void 0,!1,void 0,void 0,void 0),Dt={props:{context:{type:Object,required:!0},removeItem:{type:Function,required:!0},index:{type:Number,required:!0}}},Lt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.groupRepeatable},["after"===t.context.removePosition?t._t("default"):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"remove",context:t.context,index:t.index,"remove-item":t.removeItem}},[r(t.context.slotComponents.remove,t._b({tag:"component",attrs:{context:t.context,index:t.index,"remove-item":t.removeItem}},"component",t.context.slotProps.remove,!1))],1),t._v(" "),"before"===t.context.removePosition?t._t("default"):t._e()],2)};Lt._withStripped=!0;var Nt=T({render:Lt,staticRenderFns:[]},void 0,Dt,void 0,!1,void 0,!1,void 0,void 0,void 0);function Mt(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&-1===e.indexOf(o)&&(r[o]=t[o]);return r}var Bt={name:"FormulateInputGroup",props:{context:{type:Object,required:!0}},computed:{options:function(){return this.context.options||[]},subType:function(){return"group"===this.context.type?"grouping":"inputs"},optionsWithContext:function(){var t=this,e=this.context,r=e.attributes,o=(r.id,Mt(r,["id"])),i=(e.blurHandler,e.classification,e.component,e.getValidationErrors,e.hasLabel,e.hasValidationErrors,e.isSubField,e.isValid,e.labelPosition,e.options,e.performValidation,e.setErrors,e.slotComponents,e.slotProps,e.validationErrors,e.visibleValidationErrors,e.classes,e.showValidationErrors,e.rootEmit,e.help,e.pseudoProps,e.rules,e.model,Mt(e,["attributes","blurHandler","classification","component","getValidationErrors","hasLabel","hasValidationErrors","isSubField","isValid","labelPosition","options","performValidation","setErrors","slotComponents","slotProps","validationErrors","visibleValidationErrors","classes","showValidationErrors","rootEmit","help","pseudoProps","rules","model"]));return this.options.map((function(e){return t.groupItemContext(i,e,o)}))},totalItems:function(){return Array.isArray(this.context.model)&&this.context.model.length>this.context.minimum?this.context.model.length:this.context.minimum||1},canAddMore:function(){return this.context.repeatable&&this.totalItems<this.context.limit},labelledBy:function(){return this.context.label&&this.context.id+"_label"}},methods:{addItem:function(){if(Array.isArray(this.context.model))for(var t=this.context.minimum-this.context.model.length+1,e=Math.max(t,1),r=0;r<e;r++)this.context.model.push(h({}));else this.context.model=new Array(this.totalItems+1).fill("").map((function(){return h({})}));this.context.rootEmit("repeatableAdded",this.context.model)},groupItemContext:function(t,e,r){return Object.assign({},t,e,r,{isGrouped:!0},t.hasGivenName?{}:{name:!0})}}},Ut=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-is-repeatable":t.context.repeatable,role:"group","aria-labelledby":t.labelledBy}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"grouping"!==t.subType?t._l(t.optionsWithContext,(function(e){return r("FormulateInput",t._b({key:e.id,staticClass:"formulate-input-group-item",attrs:{"disable-errors":!0,"prevent-deregister":!0},on:{blur:t.context.blurHandler},model:{value:t.context.model,callback:function(e){t.$set(t.context,"model",e)},expression:"context.model"}},"FormulateInput",e,!1))})):[r("FormulateGrouping",{attrs:{context:t.context}},[t._t("default")],2),t._v(" "),t.canAddMore?r("FormulateSlot",{attrs:{name:"addmore",context:t.context,"add-more":t.addItem}},[r(t.context.slotComponents.addMore,t._b({tag:"component",attrs:{context:t.context,"add-more":t.addItem},on:{add:t.addItem}},"component",t.context.slotProps.addMore,!1))],1):t._e()],t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],2)};Ut._withStripped=!0;var Gt=T({render:Ut,staticRenderFns:[]},void 0,Bt,void 0,!1,void 0,!1,void 0,void 0,void 0),Tt={name:"FormulateInputButton",mixins:[Et]},qt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("button",t._g(t._b({attrs:{type:t.type}},"button",t.attributes,!1),t.$listeners),[t._t("default",[r(t.context.slotComponents.buttonContent,{tag:"component",attrs:{context:t.context}})],{context:t.context})],2),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};qt._withStripped=!0;var Ht=T({render:qt,staticRenderFns:[]},void 0,Tt,void 0,!1,void 0,!1,void 0,void 0,void 0),Wt={name:"FormulateInputSelect",mixins:[Et],computed:{options:function(){return this.context.options||{}},optionGroups:function(){return this.context.optionGroups||!1},placeholderSelected:function(){return!(this.hasValue||!this.context.attributes||!this.context.attributes.placeholder)}}},Yt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type,"data-multiple":t.attributes&&void 0!==t.attributes.multiple}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("select",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{"data-placeholder-selected":t.placeholderSelected},on:{blur:t.context.blurHandler,change:function(e){var r=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.context,"model",e.target.multiple?r:r[0])}}},"select",t.attributes,!1),t.$listeners),[t.context.placeholder?r("option",{attrs:{value:"",hidden:"hidden",disabled:""},domProps:{selected:!t.hasValue}},[t._v("\n      "+t._s(t.context.placeholder)+"\n    ")]):t._e(),t._v(" "),t.optionGroups?t._l(t.optionGroups,(function(e,o){return r("optgroup",{key:o,attrs:{label:o}},t._l(e,(function(e){return r("option",t._b({key:e.id,attrs:{disabled:!!e.disabled},domProps:{value:e.value,textContent:t._s(e.label)}},"option",e.attributes||e.attrs||{},!1))})),0)})):t._l(t.options,(function(e){return r("option",t._b({key:e.id,attrs:{disabled:!!e.disabled},domProps:{value:e.value,textContent:t._s(e.label)}},"option",e.attributes||e.attrs||{},!1))}))],2),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Yt._withStripped=!0;var zt=T({render:Yt,staticRenderFns:[]},void 0,Wt,void 0,!1,void 0,!1,void 0,void 0,void 0),Kt={name:"FormulateInputSlider",mixins:[Et]},Zt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":t.context.type}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),"checkbox"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.context.model)?t._i(t.context.model,null)>-1:t.context.model},on:{blur:t.context.blurHandler,change:function(e){var r=t.context.model,o=e.target,i=!!o.checked;if(Array.isArray(r)){var n=t._i(r,null);o.checked?n<0&&t.$set(t.context,"model",r.concat([null])):n>-1&&t.$set(t.context,"model",r.slice(0,n).concat(r.slice(n+1)))}else t.$set(t.context,"model",i)}}},"input",t.attributes,!1),t.$listeners)):"radio"===t.type?r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:"radio"},domProps:{checked:t._q(t.context.model,null)},on:{blur:t.context.blurHandler,change:function(e){return t.$set(t.context,"model",null)}}},"input",t.attributes,!1),t.$listeners)):r("input",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],attrs:{type:t.type},domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"input",t.attributes,!1),t.$listeners)),t._v(" "),t.context.showValue?r("div",{class:t.context.classes.rangeValue,domProps:{textContent:t._s(t.context.model)}}):t._e(),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};Zt._withStripped=!0;var Jt=T({render:Zt,staticRenderFns:[]},void 0,Kt,void 0,!1,void 0,!1,void 0,void 0,void 0),Xt={props:{context:{type:Object,required:!0}}},Qt=function(){var t=this.$createElement;return(this._self._c||t)("span",{class:"formulate-input-element--"+this.context.type+"--label",domProps:{textContent:this._s(this.context.value||this.context.label||this.context.name||"Submit")}})};Qt._withStripped=!0;var te=T({render:Qt,staticRenderFns:[]},void 0,Xt,void 0,!1,void 0,!1,void 0,void 0,void 0),ee={name:"FormulateInputTextArea",mixins:[Et]},re=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.context.classes.element,attrs:{"data-type":"textarea"}},[r("FormulateSlot",{attrs:{name:"prefix",context:t.context}},[t.context.slotComponents.prefix?r(t.context.slotComponents.prefix,{tag:"component",attrs:{context:t.context}}):t._e()],1),t._v(" "),r("textarea",t._g(t._b({directives:[{name:"model",rawName:"v-model",value:t.context.model,expression:"context.model"}],domProps:{value:t.context.model},on:{blur:t.context.blurHandler,input:function(e){e.target.composing||t.$set(t.context,"model",e.target.value)}}},"textarea",t.attributes,!1),t.$listeners)),t._v(" "),r("FormulateSlot",{attrs:{name:"suffix",context:t.context}},[t.context.slotComponents.suffix?r(t.context.slotComponents.suffix,{tag:"component",attrs:{context:t.context}}):t._e()],1)],1)};re._withStripped=!0;var oe=T({render:re,staticRenderFns:[]},void 0,ee,void 0,!1,void 0,!1,void 0,void 0,void 0),ie={provide:function(){var t=this;return Object.assign({},U(this,["getFormValues"]),{formulateSetter:function(e,r){return t.setGroupValue(e,r)}})},inject:{registerProvider:"registerProvider",deregisterProvider:"deregisterProvider"},props:{index:{type:Number,required:!0},context:{type:Object,required:!0},uuid:{type:String,required:!0},errors:{type:Object,required:!0}},data:function(){return Object.assign({},N(this),{isGrouping:!0})},computed:Object.assign({},M(),{mergedFieldErrors:function(){return this.errors}}),watch:Object.assign({},{mergedFieldErrors:{handler:function(t){this.errorObservers.filter((function(t){return"input"===t.type})).forEach((function(e){return e.callback(t[e.field]||[])}))},immediate:!0},mergedGroupErrors:{handler:function(t){this.errorObservers.filter((function(t){return"group"===t.type})).forEach((function(e){return e.callback(t[e.field]||{})}))},immediate:!0}},{"context.model":{handler:function(t){n(t[this.index],this.proxy,!0)||this.setValues(t[this.index])},deep:!0}}),created:function(){this.applyInitialValues(),this.registerProvider(this)},beforeDestroy:function(){this.preventCleanup=!0,this.deregisterProvider(this)},methods:Object.assign({},B(),{setGroupValue:function(t,e){n(this.proxy[t],e,!0)||this.setFieldValue(t,e)},removeItem:function(){this.$emit("remove",this.index)}})},ne=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("FormulateSlot",{attrs:{name:"repeatable",context:t.context,index:t.index,"remove-item":t.removeItem}},[r(t.context.slotComponents.repeatable,t._b({tag:"component",attrs:{context:t.context,index:t.index,"remove-item":t.removeItem}},"component",t.context.slotProps.repeatable,!1),[r("FormulateSlot",{attrs:{context:t.context,index:t.index,name:"default"}})],1)],1)};ne._withStripped=!0;var se=T({render:ne,staticRenderFns:[]},void 0,ie,void 0,!1,void 0,!1,void 0,void 0,void 0),ae={props:{index:{type:Number,default:null},context:{type:Object,required:!0},removeItem:{type:Function,required:!0}}},le=function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.context.repeatable?r("a",{class:t.context.classes.groupRepeatableRemove,attrs:{"data-disabled":t.context.model.length<=t.context.minimum,role:"button"},domProps:{textContent:t._s(t.context.removeLabel)},on:{click:function(e){return e.preventDefault(),t.removeItem(e)},keypress:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.removeItem(e)}}}):t._e()};le._withStripped=!0;var ue=T({render:le,staticRenderFns:[]},void 0,ae,void 0,!1,void 0,!1,void 0,void 0,void 0),ce=function(){this.options={},this.defaults={components:{FormulateSlot:k,FormulateForm:W,FormulateFile:dt,FormulateHelp:lt,FormulateLabel:xt,FormulateInput:rt,FormulateErrors:nt,FormulateSchema:R,FormulateAddMore:bt,FormulateGrouping:ft,FormulateInputBox:wt,FormulateInputText:jt,FormulateInputFile:Rt,FormulateErrorList:Vt,FormulateRepeatable:Nt,FormulateInputGroup:Gt,FormulateInputButton:Ht,FormulateInputSelect:zt,FormulateInputSlider:Jt,FormulateButtonContent:te,FormulateInputTextArea:oe,FormulateRepeatableRemove:ue,FormulateRepeatableProvider:se},slotComponents:{addMore:"FormulateAddMore",buttonContent:"FormulateButtonContent",errorList:"FormulateErrorList",errors:"FormulateErrors",file:"FormulateFile",help:"FormulateHelp",label:"FormulateLabel",prefix:!1,remove:"FormulateRepeatableRemove",repeatable:"FormulateRepeatable",suffix:!1,uploadAreaMask:"div"},slotProps:{},library:o,rules:_,mimes:w,locale:!1,uploader:$,uploadUrl:!1,fileUrlKey:"url",uploadJustCompleteDuration:1e3,errorHandler:function(t){return t},plugins:[e.en],locales:{},failedValidation:function(){return!1},idPrefix:"formulate-",baseClasses:function(t){return t},coreClasses:j,classes:{},useInputDecorators:!0,validationNameStrategy:!1},this.registry=new Map,this.idRegistry={}};return ce.prototype.install=function(t,e){var r=this;t.prototype.$formulate=this,this.options=this.defaults;var o=this.defaults.plugins;for(var i in e&&Array.isArray(e.plugins)&&e.plugins.length&&(o=o.concat(e.plugins)),o.forEach((function(t){return"function"==typeof t?t(r):null})),this.extend(e||{}),this.options.components)t.component(i,this.options.components[i])},ce.prototype.nextId=function(t){var e=!(!t.$route||!t.$route.path)&&t.$route.path?t.$route.path.replace(/[/\\.\s]/g,"-"):"global";return Object.prototype.hasOwnProperty.call(this.idRegistry,e)||(this.idRegistry[e]=0),""+this.options.idPrefix+e+"-"+ ++this.idRegistry[e]},ce.prototype.extend=function(t){if("object"==typeof t)return this.options=this.merge(this.options,t),this;throw new Error("Formulate.extend expects an object, was "+typeof t)},ce.prototype.merge=function(e,r,o){void 0===o&&(o=!0);var i={};for(var n in e)r.hasOwnProperty(n)?t(r[n])&&t(e[n])?i[n]=this.merge(e[n],r[n],o):o&&Array.isArray(e[n])&&Array.isArray(r[n])?i[n]=e[n].concat(r[n]):i[n]=r[n]:i[n]=e[n];for(var s in r)i.hasOwnProperty(s)||(i[s]=r[s]);return i},ce.prototype.classify=function(t){return this.options.library.hasOwnProperty(t)?this.options.library[t].classification:"unknown"},ce.prototype.classes=function(t){var e=this,r=this.options.coreClasses(t),o=this.options.baseClasses(r,t);return Object.keys(o).reduce((function(r,i){var n,s=S(o[i],e.options.classes[i],t);return s=function(t,e,r,o){return Object.keys(P).reduce((function(e,i){if(P[i](o)){var n=""+t+a(i),s=n+"Class";if(r[n])e=S(e,"string"==typeof r[n]?l(r[n]):r[n],o);if(o[s])e=S(e,"string"==typeof o[s]?l(o[s]):o[n+"Class"],o)}return e}),e)}(i,s=S(s,t[i+"Class"],t),e.options.classes,t),Object.assign(r,((n={})[i]=s,n))}),{})},ce.prototype.typeProps=function(t){var e=function(t){return Object.keys(t).reduce((function(e,r){return Array.isArray(t[r])?e.concat(t[r]):e}),[])},r=e(this.options.slotProps);return this.options.library[t]?r.concat(e(this.options.library[t].slotProps||{})):r},ce.prototype.slotProps=function(t,e,r){var o=Array.isArray(this.options.slotProps[e])?this.options.slotProps[e]:[],i=this.options.library[t];return i&&i.slotProps&&Array.isArray(i.slotProps[e])&&(o=o.concat(i.slotProps[e])),o.reduce((function(t,e){var o;return Object.assign(t,((o={})[e]=r[e],o))}),{})},ce.prototype.component=function(t){return!!this.options.library.hasOwnProperty(t)&&this.options.library[t].component},ce.prototype.slotComponent=function(t,e){var r=this.options.library[t];return r&&r.slotComponents&&r.slotComponents[e]?r.slotComponents[e]:this.options.slotComponents[e]},ce.prototype.rules=function(t){return void 0===t&&(t={}),Object.assign({},this.options.rules,t)},ce.prototype.i18n=function(t){if(t.$i18n)switch(typeof t.$i18n.locale){case"string":return t.$i18n.locale;case"function":return t.$i18n.locale()}return!1},ce.prototype.getLocale=function(t){var e=this;return this.selectedLocale||(this.selectedLocale=[this.options.locale,this.i18n(t),"en"].reduce((function(t,r){if(t)return t;if(r){var o=function(t){return t.split("-").reduce((function(t,e){return t.length&&t.unshift(t[0]+"-"+e),t.length?t:[e]}),[])}(r).find((function(t){return p(e.options.locales,t)}));o&&(t=o)}return t}),!1)),this.selectedLocale},ce.prototype.setLocale=function(t){p(this.options.locales,t)&&(this.options.locale=t,this.selectedLocale=t,this.registry.forEach((function(t,e){t.hasValidationErrors()})))},ce.prototype.validationMessage=function(t,e,r){var o=this.options.locales[this.getLocale(r)];return o.hasOwnProperty(t)?o[t](e):o.hasOwnProperty("default")?o.default(e):"Invalid field value"},ce.prototype.register=function(t){"FormulateForm"===t.$options.name&&t.name&&this.registry.set(t.name,t)},ce.prototype.deregister=function(t){"FormulateForm"===t.$options.name&&t.name&&this.registry.has(t.name)&&this.registry.delete(t.name)},ce.prototype.handle=function(t,e,r){void 0===r&&(r=!1);var o=r?t:this.options.errorHandler(t,e);return e&&this.registry.has(e)&&this.registry.get(e).applyErrors({formErrors:l(o.formErrors),inputErrors:o.inputErrors||{}}),o},ce.prototype.reset=function(t,e){void 0===e&&(e={}),this.resetValidation(t),this.setValues(t,e)},ce.prototype.submit=function(t){this.registry.get(t).formSubmitted()},ce.prototype.resetValidation=function(t){var e=this.registry.get(t);e.hideErrors(t),e.namedErrors=[],e.namedFieldErrors={}},ce.prototype.setValues=function(t,e){e&&!Array.isArray(e)&&"object"==typeof e&&this.registry.get(t).setValues(Object.assign({},e))},ce.prototype.getUploader=function(){return this.options.uploader||!1},ce.prototype.getUploadUrl=function(){return this.options.uploadUrl||!1},ce.prototype.getFileUrlKey=function(){return this.options.fileUrlKey||"url"},ce.prototype.createUpload=function(t,e){return new b(t,e,this.options)},ce.prototype.failedValidation=function(t){return this.options.failedValidation(this)},new ce}));
diff --git a/shared/templates/shared/blocks/newsletter_subscription_block.html b/shared/templates/shared/blocks/newsletter_subscription_block.html
index 41793f6ba3832794f146231e505b39a99c2c637b..5054b5208b98cdbced687fb12fe3cf518c9a4507 100644
--- a/shared/templates/shared/blocks/newsletter_subscription_block.html
+++ b/shared/templates/shared/blocks/newsletter_subscription_block.html
@@ -1,20 +1,26 @@
-{% load wagtailcore_tags %}
+{% load static wagtailcore_tags wagtailroutablepage_tags %}
 
 <div class="__js-root">
     <ui-app inline-template>
-        <div class="grid-container mt-20 xl:mt-0 xl:items-center z-10">
-            <ul class="flex flex-col w-full drop-shadow-lg">
-                <li class="px-5 py-4 text-center relative z-50 bg-green-400 text-white">
-                    <i class="ico--checkmark mr-2"></i>
-                    {% if self.config.require_confirmation %}
-                        {{ self.design.require_confirmation }}
-                    {% else %}
-                        {{ self.design.no_require_confirmation }}
-                    {% endif %}
-                </li>
-            </ul>
-            <div>
-                <img src="{{ self.design.icon.full_url }}" alt="newsletter_icon" class="newsletter-grid__icon text-7xl xl:text-9xl w-32">
+        <div class="flex flex-row flex-wrap xl:items-center mt-20 xl:mt-0">
+            <noscript>
+                <ul class="flex flex-col w-full drop-shadow-lg">
+                    <li class="px-5 py-4 text-center relative bg-green-400 text-white">
+                        <i class="ico--checkmark mr-2"></i>
+                        {% if self.config.require_confirmation %}
+                            {{ self.design.require_confirmation }}
+                        {% else %}
+                            {{ self.design.no_require_confirmation }}
+                        {% endif %}
+                    </li>
+                </ul>
+            </noscript>
+            <div class="mr-5">
+                {% if self.design.icon %}
+                    <img src="{{ self.design.icon.full_url }}" alt="newsletter_icon" class="newsletter-grid__icon text-7xl xl:text-9xl w-32">
+                {% else %}
+                    <img src="{% static "shared/img/newsletter.svg" %}" alt="newsletter_icon" class="newsletter-grid__icon text-7xl xl:text-9xl w-32">
+                {% endif %}
             </div>
             <div>
                 <h5 class="font-alt mb-2 text-5xl md:text-6xl xl:text-7xl uppercase">
@@ -24,31 +30,45 @@
                     {{ self.design.subtitle }}
                 </span>
                 <div class="flex flex-col items-start">
-                    <MailtrainFormContainer url="{% if self.config.force_subscribe %}{% routablepageurl page.root_page 'newsletter' force_subscribe=True %}{% else %}{% routablepageurl page.root_page 'newsletter' %}{% endif %}">
-                        <FormulateForm @submit="onSubmit" #default="{ isLoading, hasErrors }">
+                    {% if page.has_newsletter_form %}
+                        <div url="{% routablepageurl page.root_page 'newsletter' %}" class="mailtrain-form-container">
+                    {% else %}
+                        <div url="{% routablepageurl page 'newsletter' %}" class="mailtrain-form-container">
+                    {% endif %}
+                        <formulate-form @submit="onSubmit" #default="{ isLoading, hasErrors }">
                             {% csrf_token %}
                             {% if self.config.send_timezone %}
-                                <FormulateInput
+                                <formulate-input
                                     type="hidden"
                                     name="send_timezone"
                                     value="True"
                                 />
                             {% endif %}
+                            {% if self.config.force_subscribe %}
+                                <formulate-input
+                                    type="hidden"
+                                    name="force_subscribe"
+                                    value="True"
+                                />
+                            {% endif %}
                             {% if self.config.show_name_input %}
-                                <FormulateInput type="text" name="first_name" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.first_name }}"
+                                <formulate-input type="text" name="first_name" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.first_name }}"
                                     placeholder="{{ self.design.labels.first_name }}" validation="required" error-behavior="value"
                                     label-class="sr-only" />
-                                <FormulateInput type="text" name="last_name" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.last_name }}"
+                                <formulate-input type="text" name="last_name" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.last_name }}"
                                     placeholder="{{ self.design.labels.last_name }}" validation="required" error-behavior="value"
                                     label-class="sr-only" />
                             {% endif %}
-                            <FormulateInput type="email" name="email" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.email }}"
+                            <formulate-input type="email" name="email" :element-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.email }}"
                                 placeholder="{{ self.design.labels.email }}" validation="required|email" error-behavior="value"
                                 label-class="sr-only" />
                             <div class="checkbox form-field__control flex items-center mb-3">
-                                <FormulateInput type="checkbox" label="{% include_block self.design.consent %}" label-class="text-xs font-alt font-light" validation="required" error-behavior="value" />
+                                <formulate-input id="consent_checkbox" type="checkbox" :element-class="() => []" validation="required" error-behavior="value" />
+                                <label for="consent_checkbox" class="text-xs font-alt font-light">
+                                    {% include_block self.design.consent %}
+                                </label>
                             </div>
-                            <FormulateErrors />
+                            <formulate-errors />
                             <button type="submit" :disabled="isLoading || hasErrors" class="btn btn--black btn--to-yellow-500 btn--hoveractive uppercase">
                                 <span class="btn__body-wrap">
                                     <span v-html="isLoading ? 'Odesílám...' : '{{ self.design.button }}'" class="btn__body text-lg lg:text-base">
@@ -56,8 +76,8 @@
                                     </span>
                                 </span>
                             </button>
-                        </FormulateForm>
-                    </MailtrainFormContainer>
+                        </formulate-form>
+                    </div>
                 </div>
             </div>
         </div>
diff --git a/uniweb/models.py b/uniweb/models.py
index d0093886ac7a46d811b777401092273f0125e4cc..40dba580af830ace5f6d86eaeb7b7cefe2d597b7 100644
--- a/uniweb/models.py
+++ b/uniweb/models.py
@@ -25,7 +25,7 @@ from wagtail.models import Page
 from wagtailmetadata.models import MetadataPageMixin
 
 from calendar_utils.models import CalendarMixin
-from shared.blocks import ChartBlock, FooterLinksBlock
+from shared.blocks import ChartBlock, NewsletterSubscriptionBlock
 from shared.const import RICH_TEXT_DEFAULT_FEATURES
 from shared.models import (
     ArticleMixin,
@@ -312,7 +312,7 @@ class UniwebHomePage(
     ### FIELDS
 
     content = StreamField(
-        CONTENT_STREAM_BLOCKS,
+        CONTENT_STREAM_BLOCKS + [("newsletter", NewsletterSubscriptionBlock())],
         verbose_name="obsah stránky",
         blank=True,
         use_json_field=True,
@@ -421,12 +421,16 @@ class UniwebHomePage(
 
 
 class UniwebFlexiblePage(
-    Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin
+    Page,
+    ExtendedMetadataPageMixin,
+    SubpageMixin,
+    MetadataPageMixin,
+    NewsletterFormMixin,
 ):
     ### FIELDS
 
     content = StreamField(
-        CONTENT_STREAM_BLOCKS,
+        CONTENT_STREAM_BLOCKS + [("newsletter", NewsletterSubscriptionBlock())],
         verbose_name="obsah stránky",
         blank=True,
         use_json_field=True,
@@ -440,7 +444,7 @@ class UniwebFlexiblePage(
         FieldPanel("content"),
     ]
 
-    settings_panels = []
+    settings_panels = NewsletterFormMixin.settings_panels
 
     ### RELATIONS
 
diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html
index f689ba2e257d0fe8bd27514b08241389d7757c20..2c2f2f6182dd6445a7d98aeeb4760636f584d217 100644
--- a/uniweb/templates/uniweb/base.html
+++ b/uniweb/templates/uniweb/base.html
@@ -20,6 +20,7 @@
   <link href="https://styleguide.pirati.cz/2.11.x/css/styles.css" rel="stylesheet" media="all" />
   <link href="https://styleguide.pirati.cz/2.11.x/css/pattern-scaffolding.css" rel="stylesheet" media="all" />
   <link href="{% static "shared/vendor/fancybox/jquery.fancybox.min.css" %}" rel="stylesheet">
+  <link rel="stylesheet" href="{% static "shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css" %}">
 
   <style type="text/css">
     .head-alt-md, .head-alt-lg {
@@ -155,5 +156,8 @@
   <script src="{% static "shared/vendor/jquery/jquery-3.4.1.min.js" %}"></script>
   <script src="{% static "shared/vendor/lazysizes/lazysizes.min.js" %}"></script>
   <script src="{% static "shared/vendor/fancybox/jquery.fancybox.min.js" %}"></script>
+  <script src="{% static "shared/vendor/vue-formulate-2.5.3/js/formulate.min.js" %}"></script>
+  <script src="{% static "shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js" %}"></script>
+  <script src="{% static "shared/js/vue-formulate-helper.js" %}"></script>
 </body>
 </html>