{"version":3,"file":"js/application-3df721bd3c8a17bfb32d.js","mappings":"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","sources":["webpack://docuseal/webpack/runtime/chunk loaded","webpack://docuseal/webpack/runtime/load script","webpack://docuseal/./app/javascript/template_builder/builder.vue","webpack://docuseal/./app/javascript/template_builder/upload.vue","webpack://docuseal/./app/javascript/template_builder/upload.vue?75d8","webpack://docuseal/./app/javascript/template_builder/dropzone.vue","webpack://docuseal/./app/javascript/template_builder/dropzone.vue?96b1","webpack://docuseal/./app/javascript/template_builder/fields.vue","webpack://docuseal/./app/javascript/template_builder/field.vue","webpack://docuseal/./app/javascript/template_builder/contenteditable.vue","webpack://docuseal/./app/javascript/template_builder/contenteditable.vue?6b06","webpack://docuseal/./app/javascript/template_builder/field_type.vue","webpack://docuseal/./app/javascript/template_builder/field_type.vue?e2f2","webpack://docuseal/./app/javascript/template_builder/payment_settings.vue","webpack://docuseal/./app/javascript/template_builder/payment_settings.vue?9e29","webpack://docuseal/./app/javascript/template_builder/field_settings.vue","webpack://docuseal/./app/javascript/template_builder/field_settings.vue?83ad","webpack://docuseal/./app/javascript/template_builder/formula_modal.vue","webpack://docuseal/./app/javascript/template_builder/formula_modal.vue?a616","webpack://docuseal/./app/javascript/template_builder/conditions_modal.vue","webpack://docuseal/./app/javascript/template_builder/conditions_modal.vue?4e5d","webpack://docuseal/./app/javascript/template_builder/description_modal.vue","webpack://docuseal/./app/javascript/template_builder/description_modal.vue?ed0d","webpack://docuseal/./app/javascript/template_builder/field.vue?f61f","webpack://docuseal/./app/javascript/template_builder/field_submitter.vue","webpack://docuseal/./app/javascript/template_builder/field_submitter.vue?56f9","webpack://docuseal/./app/javascript/template_builder/icon_drag.vue","webpack://docuseal/./app/javascript/template_builder/icon_drag.vue?ffa4","webpack://docuseal/./app/javascript/template_builder/fields.vue?3589","webpack://docuseal/./app/javascript/template_builder/mobile_draw_field.vue","webpack://docuseal/./app/javascript/template_builder/mobile_draw_field.vue?c42d","webpack://docuseal/./app/javascript/template_builder/area.vue","webpack://docuseal/./app/javascript/template_builder/page.vue","webpack://docuseal/./app/javascript/template_builder/area.vue?d55d","webpack://docuseal/./app/javascript/template_builder/document.vue","webpack://docuseal/./app/javascript/template_builder/page.vue?bb6c","webpack://docuseal/./app/javascript/template_builder/document.vue?57ce","webpack://docuseal/./app/javascript/template_builder/logo.vue","webpack://docuseal/./app/javascript/template_builder/logo.vue?b1f3","webpack://docuseal/./app/javascript/template_builder/preview.vue","webpack://docuseal/./app/javascript/template_builder/replace.vue","webpack://docuseal/./app/javascript/template_builder/replace.vue?5372","webpack://docuseal/./app/javascript/template_builder/preview.vue?4d48","webpack://docuseal/./app/javascript/template_builder/controls.vue","webpack://docuseal/./app/javascript/template_builder/controls.vue?fc65","webpack://docuseal/./app/javascript/template_builder/mobile_fields.vue","webpack://docuseal/./app/javascript/template_builder/mobile_fields.vue?1326","webpack://docuseal/./app/javascript/template_builder/i18n.js","webpack://docuseal/./app/javascript/template_builder/builder.vue?9b53","webpack://docuseal/./app/javascript/template_builder/import_list.vue","webpack://docuseal/./app/javascript/template_builder/import_list.vue?74f3","webpack://docuseal/./app/javascript/elements/toggle_visible.js","webpack://docuseal/./app/javascript/elements/toggle_cookies.js","webpack://docuseal/./app/javascript/elements/disable_hidden.js","webpack://docuseal/./app/javascript/elements/turbo_modal.js","webpack://docuseal/./app/javascript/elements/file_dropzone.js","webpack://docuseal/./app/javascript/elements/menu_active.js","webpack://docuseal/./app/javascript/elements/clipboard_copy.js","webpack://docuseal/./app/javascript/elements/dynamic_list.js","webpack://docuseal/./app/javascript/elements/download_button.js","webpack://docuseal/./app/javascript/elements/set_origin_url.js","webpack://docuseal/./app/javascript/elements/set_timezone.js","webpack://docuseal/./app/javascript/elements/autoresize_textarea.js","webpack://docuseal/./app/javascript/elements/submitter_autocomplete.js","webpack://docuseal/./app/javascript/elements/folder_autocomplete.js","webpack://docuseal/./app/javascript/elements/signature_form.js","webpack://docuseal/./app/javascript/submission_form/crop_canvas.js","webpack://docuseal/./app/javascript/elements/submit_form.js","webpack://docuseal/./app/javascript/elements/prompt_password.js","webpack://docuseal/./app/javascript/elements/emails_textarea.js","webpack://docuseal/./app/javascript/elements/toggle_on_submit.js","webpack://docuseal/./app/javascript/elements/password_input.js","webpack://docuseal/./app/javascript/elements/search_input.js","webpack://docuseal/./app/javascript/elements/toggle_attribute.js","webpack://docuseal/./app/javascript/elements/linked_input.js","webpack://docuseal/./app/javascript/elements/checkbox_group.js","webpack://docuseal/./app/javascript/lib/turbo_instant_click.js","webpack://docuseal/./app/javascript/application.js","webpack://docuseal/webpack/bootstrap","webpack://docuseal/webpack/runtime/compat get default export","webpack://docuseal/webpack/runtime/define property getters","webpack://docuseal/webpack/runtime/ensure chunk","webpack://docuseal/webpack/runtime/get javascript chunk filename","webpack://docuseal/webpack/runtime/get mini-css chunk filename","webpack://docuseal/webpack/runtime/global","webpack://docuseal/webpack/runtime/hasOwnProperty shorthand","webpack://docuseal/webpack/runtime/make namespace object","webpack://docuseal/webpack/runtime/publicPath","webpack://docuseal/webpack/runtime/jsonp chunk loading","webpack://docuseal/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"docuseal:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<template>\n  <div\n    style=\"max-width: 1600px\"\n    class=\"mx-auto pl-3 md:pl-4 h-full\"\n  >\n    <div\n      v-if=\"pendingFieldAttachmentUuids.length\"\n      class=\"top-1.5 sticky h-0 z-20 max-w-2xl mx-auto\"\n    >\n      <div class=\"alert border-base-content/30 py-2 px-2.5\">\n        <IconInfoCircle\n          class=\"stroke-info shrink-0 w-6 h-6\"\n        />\n        <span>{{ t('uploaded_pdf_contains_form_fields_keep_or_remove_them') }}</span>\n        <div>\n          <button\n            class=\"btn btn-sm\"\n            @click.prevent=\"removePendingFields\"\n          >\n            {{ t('remove') }}\n          </button>\n          <button\n            class=\"btn btn-sm btn-neutral text-white\"\n            @click.prevent=\"save\"\n          >\n            {{ t('keep') }}\n          </button>\n        </div>\n      </div>\n    </div>\n    <div\n      v-if=\"$slots.buttons || withTitle\"\n      id=\"title_container\"\n      class=\"flex justify-between py-1.5 items-center pr-4 top-0 z-10\"\n      :class=\"{ sticky: withStickySubmitters || isBreakpointLg }\"\n      :style=\"{ backgroundColor }\"\n    >\n      <div class=\"flex items-center space-x-3\">\n        <a\n          v-if=\"withLogo\"\n          href=\"/\"\n        >\n          <Logo />\n        </a>\n        <Contenteditable\n          v-if=\"withTitle\"\n          :model-value=\"template.name\"\n          :editable=\"editable\"\n          class=\"text-xl md:text-3xl font-semibold focus:text-clip\"\n          :icon-stroke-width=\"2.3\"\n          @update:model-value=\"updateName\"\n        />\n      </div>\n      <div class=\"space-x-3 flex items-center flex-shrink-0\">\n        <slot\n          v-if=\"$slots.buttons\"\n          name=\"buttons\"\n        />\n        <template v-else>\n          <a\n            v-if=\"withSignYourselfButton\"\n            :href=\"template.submitters.length > 1 ? `/templates/${template.id}/submissions/new?selfsign=true` : `/d/${template.slug}`\"\n            class=\"btn btn-primary btn-ghost text-base hidden md:flex\"\n            :target=\"template.submitters.length > 1 ? '' : '_blank'\"\n            :data-turbo-frame=\"template.submitters.length > 1 ? 'modal' : ''\"\n            @click=\"maybeShowErrorTemplateAlert\"\n          >\n            <IconWritingSign\n              width=\"22\"\n              class=\"inline\"\n            />\n            <span class=\"hidden md:inline\">\n              {{ t('sign_yourself') }}\n            </span>\n          </a>\n          <a\n            v-if=\"withSendButton\"\n            :href=\"`/templates/${template.id}/submissions/new?with_link=true`\"\n            data-turbo-frame=\"modal\"\n            class=\"white-button md:!px-6\"\n            @click=\"maybeShowErrorTemplateAlert\"\n          >\n            <IconUsersPlus\n              width=\"20\"\n              class=\"inline\"\n            />\n            <span class=\"hidden md:inline\">\n              {{ t('send') }}\n            </span>\n          </a>\n          <span\n            v-if=\"editable\"\n            class=\"flex\"\n          >\n            <button\n              class=\"base-button !rounded-r-none !pr-2\"\n              :class=\"{ disabled: isSaving }\"\n              v-bind=\"isSaving ? { disabled: true } : {}\"\n              @click.prevent=\"onSaveClick\"\n            >\n              <IconInnerShadowTop\n                v-if=\"isSaving\"\n                width=\"22\"\n                class=\"animate-spin\"\n              />\n              <IconDeviceFloppy\n                v-else\n                width=\"22\"\n              />\n              <span class=\"hidden md:inline\">\n                {{ t('save') }}\n              </span>\n            </button>\n            <div class=\"dropdown dropdown-end\">\n              <label\n                tabindex=\"0\"\n                class=\"base-button !rounded-l-none !pl-1 !pr-2 !border-l-neutral-500\"\n              >\n                <span class=\"text-sm align-text-top\">\n                  <IconChevronDown class=\"w-5 h-5 flex-shrink-0\" />\n                </span>\n              </label>\n              <ul\n                tabindex=\"0\"\n                class=\"dropdown-content p-2 mt-2 shadow menu text-base bg-base-100 rounded-box text-right\"\n              >\n                <li>\n                  <a\n                    :href=\"`/templates/${template.id}/form`\"\n                    data-turbo=\"false\"\n                    class=\"flex items-center justify-center space-x-2\"\n                  >\n                    <IconEye class=\"w-6 h-6 flex-shrink-0\" />\n                    <span class=\"whitespace-nowrap\">{{ t('save_and_preview') }}</span>\n                  </a>\n                </li>\n                <li>\n                  <a\n                    :href=\"`/templates/${template.id}/preferences`\"\n                    data-turbo-frame=\"modal\"\n                    class=\"flex space-x-2\"\n                    @click=\"closeDropdown\"\n                  >\n                    <IconAdjustments class=\"w-6 h-6 flex-shrink-0\" />\n                    <span class=\"whitespace-nowrap\">{{ t('preferences') }}</span>\n                  </a>\n                </li>\n              </ul>\n            </div>\n          </span>\n          <a\n            v-else\n            :href=\"`/templates/${template.id}`\"\n            class=\"base-button\"\n          >\n            <span class=\"hidden md:inline\">\n              {{ t('back') }}\n            </span>\n          </a>\n        </template>\n      </div>\n    </div>\n    <div\n      id=\"main_container\"\n      class=\"flex\"\n      :class=\"$slots.buttons || withTitle ? 'md:max-h-[calc(100%_-_60px)]' : 'md:max-h-[100%]'\"\n    >\n      <div\n        v-if=\"withDocumentsList\"\n        id=\"documents_container\"\n        ref=\"previews\"\n        :style=\"{ 'display': isBreakpointLg ? 'none' : 'initial' }\"\n        class=\"overflow-y-auto overflow-x-hidden w-52 flex-none pr-3 mt-0.5 pt-0.5 hidden lg:block\"\n      >\n        <DocumentPreview\n          v-for=\"(item, index) in template.schema\"\n          :key=\"index\"\n          :with-arrows=\"template.schema.length > 1\"\n          :item=\"item\"\n          :document=\"sortedDocuments[index]\"\n          :accept-file-types=\"acceptFileTypes\"\n          :with-replace-button=\"withUploadButton\"\n          :editable=\"editable\"\n          :template=\"template\"\n          @scroll-to=\"scrollIntoDocument(item)\"\n          @remove=\"onDocumentRemove\"\n          @replace=\"onDocumentReplace\"\n          @up=\"moveDocument(item, -1)\"\n          @down=\"moveDocument(item, 1)\"\n          @change=\"save\"\n        />\n        <div\n          class=\"sticky bottom-0 py-2 space-y-2\"\n          :style=\"{ backgroundColor }\"\n        >\n          <Upload\n            v-if=\"sortedDocuments.length && editable && withUploadButton\"\n            :accept-file-types=\"acceptFileTypes\"\n            :template-id=\"template.id\"\n            @success=\"updateFromUpload\"\n          />\n          <button\n            v-if=\"sortedDocuments.length && editable && withAddPageButton\"\n            id=\"add_blank_page_button\"\n            class=\"btn btn-outline w-full\"\n            @click.prevent=\"addBlankPage\"\n          >\n            <IconInnerShadowTop\n              v-if=\"isLoadingBlankPage\"\n              class=\"animate-spin w-5 h-5\"\n            />\n            <IconPlus\n              v-else\n              class=\"w-5 h-5\"\n            />\n            {{ t('add_blank_page') }}\n          </button>\n        </div>\n      </div>\n      <div\n        id=\"pages_container\"\n        class=\"w-full overflow-y-hidden md:overflow-y-auto overflow-x-hidden mt-0.5 pt-0.5\"\n      >\n        <div\n          ref=\"documents\"\n          class=\"pr-3.5 pl-0.5\"\n        >\n          <template v-if=\"!sortedDocuments.length && (withUploadButton || withAddPageButton)\">\n            <Dropzone\n              v-if=\"withUploadButton\"\n              :template-id=\"template.id\"\n              :accept-file-types=\"acceptFileTypes\"\n              @success=\"updateFromUpload\"\n            />\n            <button\n              v-if=\"withAddPageButton\"\n              id=\"add_blank_page_button\"\n              class=\"btn btn-outline w-full mt-4\"\n              @click.prevent=\"addBlankPage\"\n            >\n              <IconInnerShadowTop\n                v-if=\"isLoadingBlankPage\"\n                class=\"animate-spin w-5 h-5\"\n              />\n              <IconPlus\n                v-else\n                class=\"w-5 h-5\"\n              />\n              {{ t('add_blank_page') }}\n            </button>\n          </template>\n          <template v-else>\n            <template\n              v-for=\"document in sortedDocuments\"\n              :key=\"document.uuid\"\n            >\n              <Document\n                :ref=\"setDocumentRefs\"\n                :areas-index=\"fieldAreasIndex[document.uuid]\"\n                :selected-submitter=\"selectedSubmitter\"\n                :document=\"document\"\n                :is-drag=\"!!dragField\"\n                :input-mode=\"inputMode\"\n                :default-fields=\"[...defaultRequiredFields, ...defaultFields]\"\n                :allow-draw=\"!onlyDefinedFields\"\n                :default-submitters=\"defaultSubmitters\"\n                :with-field-placeholder=\"withFieldPlaceholder\"\n                :draw-field=\"drawField\"\n                :draw-field-type=\"drawFieldType\"\n                :editable=\"editable\"\n                :base-url=\"baseUrl\"\n                @draw=\"[onDraw($event), withSelectedFieldType ? '' : drawFieldType = '', showDrawField = false]\"\n                @drop-field=\"onDropfield\"\n                @remove-area=\"removeArea\"\n              />\n              <DocumentControls\n                v-if=\"isBreakpointLg && editable\"\n                :with-arrows=\"template.schema.length > 1\"\n                :item=\"template.schema.find((item) => item.attachment_uuid === document.uuid)\"\n                :with-replace-button=\"withUploadButton\"\n                :accept-file-types=\"acceptFileTypes\"\n                :document=\"document\"\n                :template=\"template\"\n                class=\"pb-2 mb-2 border-b border-base-300 border-dashed\"\n                @remove=\"onDocumentRemove\"\n                @replace=\"onDocumentReplace\"\n                @up=\"moveDocument(template.schema.find((item) => item.attachment_uuid === document.uuid), -1)\"\n                @down=\"moveDocument(template.schema.find((item) => item.attachment_uuid === document.uuid), 1)\"\n                @change=\"save\"\n              />\n            </template>\n            <div\n              v-if=\"sortedDocuments.length && isBreakpointLg && editable\"\n              class=\"pb-4 space-y-2\"\n            >\n              <Upload\n                v-if=\"withUploadButton\"\n                :template-id=\"template.id\"\n                :accept-file-types=\"acceptFileTypes\"\n                @success=\"updateFromUpload\"\n              />\n              <button\n                v-if=\"withAddPageButton\"\n                id=\"add_blank_page_button\"\n                class=\"btn btn-outline w-full mt-4\"\n                @click.prevent=\"addBlankPage\"\n              >\n                <IconInnerShadowTop\n                  v-if=\"isLoadingBlankPage\"\n                  class=\"animate-spin w-5 h-5\"\n                />\n                <IconPlus\n                  v-else\n                  class=\"w-5 h-5\"\n                />\n                {{ t('add_blank_page') }}\n              </button>\n            </div>\n          </template>\n        </div>\n      </div>\n      <div\n        v-if=\"withFieldsList\"\n        id=\"fields_list_container\"\n        class=\"relative w-80 flex-none mt-1 pr-4 pl-0.5 hidden md:block\"\n        :class=\"drawField ? 'overflow-hidden' : 'overflow-y-auto overflow-x-hidden'\"\n      >\n        <div\n          v-if=\"showDrawField || drawField\"\n          class=\"sticky inset-0 h-full z-20\"\n          :style=\"{ backgroundColor }\"\n        >\n          <div class=\"bg-base-200 rounded-lg p-5 text-center space-y-4\">\n            <p>\n              {{ t('draw_field_on_the_document').replace('{field}', drawField?.name || '') }}\n            </p>\n            <div>\n              <button\n                class=\"base-button\"\n                @click=\"clearDrawField\"\n              >\n                {{ t('cancel') }}\n              </button>\n              <a\n                v-if=\"!drawField && !drawOption && !['stamp', 'signature', 'initials', 'heading'].includes(drawField?.type || drawFieldType)\"\n                href=\"#\"\n                class=\"link block mt-3 text-sm\"\n                @click.prevent=\"[addField(drawFieldType), drawField = null, drawOption = null, withSelectedFieldType ? '' : drawFieldType = '', showDrawField = false]\"\n              >\n                {{ t('or_add_field_without_drawing') }}\n              </a>\n            </div>\n          </div>\n        </div>\n        <div>\n          <Fields\n            ref=\"fields\"\n            :fields=\"template.fields\"\n            :submitters=\"template.submitters\"\n            :selected-submitter=\"selectedSubmitter\"\n            :with-help=\"withHelp\"\n            :default-submitters=\"defaultSubmitters\"\n            :draw-field-type=\"drawFieldType\"\n            :default-fields=\"[...defaultRequiredFields, ...defaultFields]\"\n            :default-required-fields=\"defaultRequiredFields\"\n            :field-types=\"fieldTypes\"\n            :with-sticky-submitters=\"withStickySubmitters\"\n            :only-defined-fields=\"onlyDefinedFields\"\n            :editable=\"editable\"\n            @add-field=\"addField\"\n            @set-draw=\"[drawField = $event.field, drawOption = $event.option]\"\n            @set-draw-type=\"[drawFieldType = $event, showDrawField = true]\"\n            @set-drag=\"dragField = $event\"\n            @change-submitter=\"selectedSubmitter = $event\"\n            @drag-end=\"dragField = null\"\n            @scroll-to-area=\"scrollToArea\"\n          />\n        </div>\n      </div>\n    </div>\n    <div class=\"sticky bottom-0\">\n      <MobileDrawField\n        v-if=\"drawField && isBreakpointLg\"\n        :draw-field=\"drawField\"\n        :fields=\"template.fields\"\n        :submitters=\"template.submitters\"\n        :selected-submitter=\"selectedSubmitter\"\n        class=\"md:hidden\"\n        :editable=\"editable\"\n        @cancel=\"[drawField = null, drawOption = null]\"\n        @change-submitter=\"[selectedSubmitter = $event, drawField.submitter_uuid = $event.uuid]\"\n      />\n      <MobileFields\n        v-if=\"sortedDocuments.length && !drawField && editable\"\n        :fields=\"template.fields\"\n        :default-fields=\"[...defaultRequiredFields, ...defaultFields]\"\n        :default-required-fields=\"defaultRequiredFields\"\n        :field-types=\"fieldTypes\"\n        :selected-submitter=\"selectedSubmitter\"\n        @select=\"startFieldDraw($event)\"\n      />\n    </div>\n    <div id=\"docuseal_modal_container\" />\n  </div>\n</template>\n\n<script>\nimport Upload from './upload'\nimport Dropzone from './dropzone'\nimport Fields from './fields'\nimport MobileDrawField from './mobile_draw_field'\nimport Document from './document'\nimport Logo from './logo'\nimport Contenteditable from './contenteditable'\nimport DocumentPreview from './preview'\nimport DocumentControls from './controls'\nimport MobileFields from './mobile_fields'\nimport { IconPlus, IconUsersPlus, IconDeviceFloppy, IconChevronDown, IconEye, IconWritingSign, IconInnerShadowTop, IconInfoCircle, IconAdjustments } from '@tabler/icons-vue'\nimport { v4 } from 'uuid'\nimport { ref, computed } from 'vue'\nimport * as i18n from './i18n'\n\nexport default {\n  name: 'TemplateBuilder',\n  components: {\n    Upload,\n    Document,\n    Fields,\n    IconInfoCircle,\n    MobileDrawField,\n    IconPlus,\n    IconWritingSign,\n    MobileFields,\n    Logo,\n    Dropzone,\n    DocumentPreview,\n    DocumentControls,\n    IconInnerShadowTop,\n    Contenteditable,\n    IconUsersPlus,\n    IconChevronDown,\n    IconAdjustments,\n    IconEye,\n    IconDeviceFloppy\n  },\n  provide () {\n    return {\n      template: this.template,\n      save: this.save,\n      t: this.t,\n      currencies: this.currencies,\n      locale: this.locale,\n      baseFetch: this.baseFetch,\n      fieldTypes: this.fieldTypes,\n      backgroundColor: this.backgroundColor,\n      withPhone: this.withPhone,\n      withPayment: this.withPayment,\n      isPaymentConnected: this.isPaymentConnected,\n      withFormula: this.withFormula,\n      withConditions: this.withConditions,\n      defaultDrawFieldType: this.defaultDrawFieldType,\n      selectedAreaRef: computed(() => this.selectedAreaRef),\n      fieldsDragFieldRef: computed(() => this.fieldsDragFieldRef)\n    }\n  },\n  props: {\n    template: {\n      type: Object,\n      required: true\n    },\n    i18n: {\n      type: Object,\n      required: false,\n      default: () => ({})\n    },\n    withFieldPlaceholder: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    backgroundColor: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    locale: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withSendButton: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withSignYourselfButton: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    inputMode: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    withHelp: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withAddPageButton: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    autosave: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    defaultFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    defaultRequiredFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    withSelectedFieldType: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    defaultDrawFieldType: {\n      type: String,\n      required: false,\n      default: 'text'\n    },\n    currencies: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    fieldTypes: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    defaultSubmitters: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    },\n    baseUrl: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    withLogo: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    onUpload: {\n      type: Function,\n      required: false,\n      default () {\n        return () => {}\n      }\n    },\n    onSave: {\n      type: Function,\n      required: false,\n      default () {\n        return () => {}\n      }\n    },\n    onChange: {\n      type: Function,\n      required: false,\n      default () {\n        return () => {}\n      }\n    },\n    withStickySubmitters: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withUploadButton: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withTitle: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withFieldsList: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    authenticityToken: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    withDocumentsList: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withPhone: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    withPayment: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    isPaymentConnected: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    withFormula: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    withConditions: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    onlyDefinedFields: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    fetchOptions: {\n      type: Object,\n      required: false,\n      default: () => ({ headers: {} })\n    }\n  },\n  data () {\n    return {\n      documentRefs: [],\n      isBreakpointLg: false,\n      isLoadingBlankPage: false,\n      isSaving: false,\n      selectedSubmitter: null,\n      showDrawField: false,\n      pendingFieldAttachmentUuids: [],\n      drawField: null,\n      copiedArea: null,\n      drawFieldType: null,\n      drawOption: null,\n      dragField: null\n    }\n  },\n  computed: {\n    selectedAreaRef: () => ref(),\n    fieldsDragFieldRef: () => ref(),\n    language () {\n      return this.locale.split('-')[0].toLowerCase()\n    },\n    defaultDateFormat () {\n      const isUsBrowser = Intl.DateTimeFormat().resolvedOptions().locale.endsWith('-US')\n      const isUsTimezone = new Intl.DateTimeFormat('en-US', { timeZoneName: 'short' }).format(new Date()).match(/\\s(?:CST|CDT|PST|PDT|EST|EDT)$/)\n\n      return this.localeDateFormats[this.locale] || ((isUsBrowser || isUsTimezone) ? 'MM/DD/YYYY' : 'DD/MM/YYYY')\n    },\n    localeDateFormats () {\n      return {\n        'de-DE': 'DD.MM.YYYY',\n        'fr-FR': 'DD/MM/YYYY',\n        'it-IT': 'DD/MM/YYYY',\n        'es-ES': 'DD/MM/YYYY'\n      }\n    },\n    fieldAreasIndex () {\n      const areas = {}\n\n      this.template.fields.forEach((f) => {\n        (f.areas || []).forEach((a) => {\n          areas[a.attachment_uuid] ||= {}\n\n          const acc = (areas[a.attachment_uuid][a.page] ||= [])\n\n          acc.push({ area: a, field: f })\n        })\n      })\n\n      return areas\n    },\n    isAllRequiredFieldsAdded () {\n      return !this.defaultRequiredFields?.some((f) => {\n        return !this.template.fields?.some((field) => field.name === f.name)\n      })\n    },\n    selectedField () {\n      return this.template.fields.find((f) => f.areas?.includes(this.selectedAreaRef.value))\n    },\n    sortedDocuments () {\n      return this.template.schema.map((item) => {\n        return this.template.documents.find(doc => doc.uuid === item.attachment_uuid)\n      })\n    }\n  },\n  created () {\n    if (!this.template.fields?.length && this.template.submitters?.length === 1) {\n      if (this.template.submitters[0]?.name === 'First Party') {\n        this.template.submitters[0].name = this.t('first_party')\n      }\n    }\n\n    const existingSubmittersUuids = this.defaultSubmitters.map((name) => {\n      return this.template.submitters.find(e => e.name === name)?.uuid\n    })\n\n    this.defaultSubmitters.forEach((name, index) => {\n      const submitter = (this.template.submitters[index] ||= {})\n\n      submitter.name = name\n\n      if (existingSubmittersUuids.filter(Boolean).length) {\n        submitter.uuid = existingSubmittersUuids[index] || submitter.uuid || v4()\n      } else {\n        submitter.uuid ||= v4()\n      }\n    })\n\n    this.selectedSubmitter = this.template.submitters[0]\n  },\n  mounted () {\n    this.undoStack = [JSON.stringify(this.template)]\n    this.redoStack = []\n\n    this.$nextTick(() => {\n      this.onWindowResize()\n    })\n\n    document.addEventListener('keyup', this.onKeyUp)\n    window.addEventListener('keydown', this.onKeyDown)\n\n    window.addEventListener('resize', this.onWindowResize)\n\n    this.$nextTick(() => {\n      if (document.location.search?.includes('stripe_connect_success')) {\n        document.querySelector('form[action=\"/auth/stripe_connect\"]')?.closest('.dropdown')?.querySelector('label')?.focus()\n      }\n    })\n\n    this.template.schema.forEach((item) => {\n      if (item.pending_fields) {\n        this.pendingFieldAttachmentUuids.push(item.attachment_uuid)\n      }\n    })\n  },\n  unmounted () {\n    document.removeEventListener('keyup', this.onKeyUp)\n    window.removeEventListener('keydown', this.onKeyDown)\n\n    window.removeEventListener('resize', this.onWindowResize)\n  },\n  beforeUpdate () {\n    this.documentRefs = []\n  },\n  methods: {\n    closeDropdown () {\n      document.activeElement.blur()\n    },\n    t (key) {\n      return this.i18n[key] || i18n[this.language]?.[key] || i18n.en[key] || key\n    },\n    removePendingFields () {\n      this.template.fields = this.template.fields.filter((f) => {\n        return this.template.schema.find((item) => item.attachment_uuid === f.attachment_uuid && item.pending_fields)\n      })\n\n      this.save()\n    },\n    addField (type, area = null) {\n      const field = {\n        name: '',\n        uuid: v4(),\n        required: type !== 'checkbox',\n        areas: area ? [area] : [],\n        submitter_uuid: this.selectedSubmitter.uuid,\n        type\n      }\n\n      if (['select', 'multiple', 'radio'].includes(type)) {\n        field.options = [{ value: '', uuid: v4() }]\n      }\n\n      if (type === 'stamp') {\n        field.readonly = true\n      }\n\n      if (type === 'date') {\n        field.preferences = {\n          format: this.defaultDateFormat\n        }\n      }\n\n      this.template.fields.push(field)\n\n      this.save()\n    },\n    startFieldDraw ({ name, type }) {\n      const existingField = this.template.fields?.find((f) => f.submitter_uuid === this.selectedSubmitter.uuid && name && name === f.name)\n\n      if (existingField) {\n        this.drawField = existingField\n      } else {\n        const field = {\n          name: name || '',\n          uuid: v4(),\n          required: type !== 'checkbox',\n          areas: [],\n          submitter_uuid: this.selectedSubmitter.uuid,\n          type\n        }\n\n        if (['select', 'multiple', 'radio'].includes(type)) {\n          field.options = [{ value: '', uuid: v4() }]\n        }\n\n        if (type === 'stamp') {\n          field.readonly = true\n        }\n\n        if (type === 'date') {\n          field.preferences = {\n            format: this.defaultDateFormat\n          }\n        }\n\n        this.drawField = field\n      }\n\n      this.drawOption = null\n    },\n    undo () {\n      if (this.undoStack.length > 1) {\n        this.undoStack.pop()\n        const stringData = this.undoStack[this.undoStack.length - 1]\n        const currentStringData = JSON.stringify(this.template)\n\n        if (stringData && stringData !== currentStringData) {\n          this.redoStack.push(currentStringData)\n\n          Object.assign(this.template, JSON.parse(stringData))\n\n          this.save()\n        }\n      }\n    },\n    redo () {\n      const stringData = this.redoStack.pop()\n      this.lastRedoData = stringData\n      const currentStringData = JSON.stringify(this.template)\n\n      if (stringData && stringData !== currentStringData) {\n        if (this.undoStack[this.undoStack.length - 1] !== currentStringData) {\n          this.undoStack.push(currentStringData)\n        }\n\n        Object.assign(this.template, JSON.parse(stringData))\n\n        this.save()\n      }\n    },\n    onWindowResize (e) {\n      const breakpointLg = 1024\n\n      this.isBreakpointLg = this.$el.getRootNode().querySelector('div[data-v-app]').offsetWidth < breakpointLg\n    },\n    setDocumentRefs (el) {\n      if (el) {\n        this.documentRefs.push(el)\n      }\n    },\n    scrollIntoDocument (item) {\n      const ref = this.documentRefs.find((e) => e.document.uuid === item.attachment_uuid)\n\n      ref.$el.scrollIntoView({ behavior: 'smooth', block: 'start' })\n    },\n    clearDrawField () {\n      this.drawField = null\n      this.drawOption = null\n      this.showDrawField = false\n\n      if (!this.withSelectedFieldType) {\n        this.drawFieldType = ''\n      }\n    },\n    onKeyUp (e) {\n      if (e.code === 'Escape') {\n        this.clearDrawField()\n\n        this.selectedAreaRef.value = null\n      }\n\n      if (this.editable && ['Backspace', 'Delete'].includes(e.key) && this.selectedAreaRef.value && document.activeElement === document.body) {\n        this.removeArea(this.selectedAreaRef.value)\n\n        this.selectedAreaRef.value = null\n      }\n    },\n    onKeyDown (event) {\n      if ((event.metaKey && event.shiftKey && event.key === 'z') || (event.ctrlKey && event.key === 'Z')) {\n        event.stopImmediatePropagation()\n        event.preventDefault()\n\n        this.redo()\n      } else if ((event.ctrlKey || event.metaKey) && event.key === 'z') {\n        event.stopImmediatePropagation()\n        event.preventDefault()\n\n        this.undo()\n      } else if ((event.ctrlKey || event.metaKey) && event.key === 'c' && document.activeElement === document.body) {\n        event.preventDefault()\n\n        this.copiedArea = this.selectedAreaRef?.value\n      } else if ((event.ctrlKey || event.metaKey) && event.key === 'v' && this.copiedArea && document.activeElement === document.body) {\n        event.preventDefault()\n\n        this.pasteField()\n      } else if (this.selectedAreaRef.value && ['ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].includes(event.key) && document.activeElement === document.body) {\n        event.preventDefault()\n\n        this.handleAreaArrows(event)\n      }\n    },\n    handleAreaArrows (event) {\n      if (!this.editable) {\n        return\n      }\n\n      const area = this.selectedAreaRef.value\n      const documentRef = this.documentRefs.find((e) => e.document.uuid === area.attachment_uuid)\n      const page = documentRef.pageRefs[area.page].$refs.image\n      const rect = page.getBoundingClientRect()\n      const diff = (event.shiftKey ? 5.0 : 1.0)\n\n      if (event.key === 'ArrowRight' && event.altKey) {\n        area.w = Math.min(Math.max(area.w + diff / rect.width, 0), 1 - area.x)\n      } else if (event.key === 'ArrowLeft' && event.altKey) {\n        area.w = Math.min(Math.max(area.w - diff / rect.width, 0), 1 - area.x)\n      } else if (event.key === 'ArrowUp' && event.altKey) {\n        area.h = Math.min(Math.max(area.h - diff / rect.height, 0), 1 - area.y)\n      } else if (event.key === 'ArrowDown' && event.altKey) {\n        area.h = Math.min(Math.max(area.h + diff / rect.height, 0), 1 - area.y)\n      } else if (event.key === 'ArrowRight') {\n        area.x = Math.min(Math.max(area.x + diff / rect.width, 0), 1 - area.w)\n      } else if (event.key === 'ArrowLeft') {\n        area.x = Math.min(Math.max(area.x - diff / rect.width, 0), 1 - area.w)\n      } else if (event.key === 'ArrowUp') {\n        area.y = Math.min(Math.max(area.y - diff / rect.height, 0), 1 - area.h)\n      } else if (event.key === 'ArrowDown') {\n        area.y = Math.min(Math.max(area.y + diff / rect.height, 0), 1 - area.h)\n      }\n\n      this.debouncedSave()\n    },\n    debouncedSave () {\n      clearTimeout(this._saveTimeout)\n\n      this._saveTimeout = setTimeout(() => {\n        this.save()\n      }, 700)\n    },\n    removeArea (area) {\n      const field = this.template.fields.find((f) => f.areas?.includes(area))\n\n      field.areas.splice(field.areas.indexOf(area), 1)\n\n      if (!field.areas.length) {\n        this.template.fields.splice(this.template.fields.indexOf(field), 1)\n      }\n\n      this.save()\n    },\n    pasteField () {\n      const field = this.template.fields.find((f) => f.areas?.includes(this.copiedArea))\n      const currentArea = this.selectedAreaRef?.value || this.copiedArea\n\n      if (field && currentArea) {\n        const area = {\n          ...JSON.parse(JSON.stringify(this.copiedArea)),\n          attachment_uuid: currentArea.attachment_uuid,\n          page: currentArea.page,\n          x: currentArea.x,\n          y: currentArea.y + currentArea.h * 1.3\n        }\n\n        if (['radio', 'multiple'].includes(field.type)) {\n          this.copiedArea.option_uuid ||= field.options[0].uuid\n          area.option_uuid = v4()\n\n          field.options.push({ uuid: area.option_uuid })\n\n          field.areas.push(area)\n        } else {\n          this.template.fields.push({\n            ...JSON.parse(JSON.stringify(field)),\n            uuid: v4(),\n            areas: [area]\n          })\n        }\n\n        this.selectedAreaRef.value = area\n\n        this.save()\n      }\n    },\n    pushUndo () {\n      const stringData = JSON.stringify(this.template)\n\n      if (this.undoStack[this.undoStack.length - 1] !== stringData) {\n        this.undoStack.push(stringData)\n\n        if (this.lastRedoData !== stringData) {\n          this.redoStack = []\n        }\n      }\n    },\n    setDefaultAreaSize (area, type) {\n      const documentRef = this.documentRefs.find((e) => e.document.uuid === area.attachment_uuid)\n      const pageMask = documentRef.pageRefs[area.page].$refs.mask\n\n      if (type === 'checkbox') {\n        area.w = pageMask.clientWidth / 30 / pageMask.clientWidth\n        area.h = (pageMask.clientWidth / 30 / pageMask.clientWidth) * (pageMask.clientWidth / pageMask.clientHeight)\n      } else if (type === 'image') {\n        area.w = pageMask.clientWidth / 5 / pageMask.clientWidth\n        area.h = (pageMask.clientWidth / 5 / pageMask.clientWidth) * (pageMask.clientWidth / pageMask.clientHeight)\n      } else if (type === 'signature' || type === 'stamp') {\n        area.w = pageMask.clientWidth / 5 / pageMask.clientWidth\n        area.h = (pageMask.clientWidth / 5 / pageMask.clientWidth) * (pageMask.clientWidth / pageMask.clientHeight) / 2\n      } else if (type === 'initials') {\n        area.w = pageMask.clientWidth / 10 / pageMask.clientWidth\n        area.h = (pageMask.clientWidth / 35 / pageMask.clientWidth)\n      } else {\n        area.w = pageMask.clientWidth / 5 / pageMask.clientWidth\n        area.h = (pageMask.clientWidth / 35 / pageMask.clientWidth)\n      }\n    },\n    onDraw (area) {\n      if (this.drawField) {\n        if (this.drawOption) {\n          const areaWithoutOption = this.drawField.areas?.find((a) => !a.option_uuid)\n\n          if (areaWithoutOption && !this.drawField.areas.find((a) => a.option_uuid === this.drawField.options[0].uuid)) {\n            areaWithoutOption.option_uuid = this.drawField.options[0].uuid\n          }\n\n          area.option_uuid = this.drawOption.uuid\n        }\n\n        if (area.w === 0 || area.h === 0) {\n          const previousArea = this.drawField.areas?.[this.drawField.areas.length - 1]\n\n          if (this.selectedField?.type === this.drawField.type) {\n            area.w = this.selectedAreaRef.value.w\n            area.h = this.selectedAreaRef.value.h\n          } else if (previousArea) {\n            area.w = previousArea.w\n            area.h = previousArea.h\n          } else {\n            this.setDefaultAreaSize(area, this.drawOption ? 'checkbox' : this.drawField?.type)\n          }\n\n          area.x -= area.w / 2\n          area.y -= area.h / 2\n        }\n\n        this.drawField.areas ||= []\n\n        const insertBeforeAreaIndex = this.drawField.areas.findIndex((a) => {\n          return a.attachment_uuid === area.attachment_uuid && a.page > area.page\n        })\n\n        if (insertBeforeAreaIndex !== -1) {\n          this.drawField.areas.splice(insertBeforeAreaIndex, 0, area)\n        } else {\n          this.drawField.areas.push(area)\n        }\n\n        if (this.template.fields.indexOf(this.drawField) === -1) {\n          this.template.fields.push(this.drawField)\n        }\n\n        this.drawField = null\n        this.drawOption = null\n\n        this.selectedAreaRef.value = area\n\n        this.save()\n      } else {\n        const documentRef = this.documentRefs.find((e) => e.document.uuid === area.attachment_uuid)\n        const pageMask = documentRef.pageRefs[area.page].$refs.mask\n\n        let type = (pageMask.clientWidth * area.w) < 35 ? 'checkbox' : 'text'\n\n        if (this.drawFieldType) {\n          type = this.drawFieldType\n        } else if (this.defaultDrawFieldType && this.defaultDrawFieldType !== 'text') {\n          type = this.defaultDrawFieldType\n        } else if (this.fieldTypes.length !== 0 && !this.fieldTypes.includes(type)) {\n          type = this.fieldTypes[0]\n        }\n\n        if (type === 'checkbox' && !this.drawFieldType && (this.template.fields[this.template.fields.length - 1]?.type === 'checkbox' || area.w)) {\n          const previousField = [...this.template.fields].reverse().find((f) => f.type === type)\n          const previousArea = previousField?.areas?.[previousField.areas.length - 1]\n\n          if (previousArea || area.w) {\n            const areaW = previousArea?.w || (30 / pageMask.clientWidth)\n            const areaH = previousArea?.h || (30 / pageMask.clientHeight)\n\n            if ((pageMask.clientWidth * area.w) < 5) {\n              area.x = area.x - (areaW / 2)\n              area.y = area.y - (areaH / 2)\n            }\n\n            area.w = areaW\n            area.h = areaH\n          }\n        }\n\n        if (this.drawFieldType && (area.w === 0 || area.h === 0)) {\n          if (this.selectedField?.type === this.drawFieldType) {\n            area.w = this.selectedAreaRef.value.w\n            area.h = this.selectedAreaRef.value.h\n          } else {\n            this.setDefaultAreaSize(area, this.drawFieldType)\n          }\n\n          area.x -= area.w / 2\n          area.y -= area.h / 2\n        }\n\n        if (area.w) {\n          this.addField(type, area)\n\n          this.selectedAreaRef.value = area\n        }\n      }\n    },\n    onDropfield (area) {\n      const field = this.fieldsDragFieldRef.value || {\n        name: '',\n        uuid: v4(),\n        submitter_uuid: this.selectedSubmitter.uuid,\n        required: this.dragField.type !== 'checkbox',\n        ...this.dragField\n      }\n\n      if (!this.fieldsDragFieldRef.value) {\n        if (['select', 'multiple', 'radio'].includes(field.type)) {\n          field.options = [{ value: '', uuid: v4() }]\n        }\n\n        if (['stamp', 'heading'].includes(field.type)) {\n          field.readonly = true\n        }\n\n        if (field.type === 'date') {\n          field.preferences = {\n            format: this.defaultDateFormat\n          }\n        }\n      }\n\n      const fieldArea = {\n        x: (area.x - 6) / area.maskW,\n        y: area.y / area.maskH,\n        page: area.page,\n        attachment_uuid: area.attachment_uuid\n      }\n\n      const previousField = [...this.template.fields].reverse().find((f) => f.type === field.type)\n\n      let baseArea\n\n      if (this.selectedField?.type === field.type) {\n        baseArea = this.selectedAreaRef.value\n      } else if (previousField?.areas?.length) {\n        baseArea = previousField.areas[previousField.areas.length - 1]\n      } else {\n        if (['checkbox'].includes(field.type)) {\n          baseArea = {\n            w: area.maskW / 30 / area.maskW,\n            h: area.maskW / 30 / area.maskW * (area.maskW / area.maskH)\n          }\n        } else if (field.type === 'image') {\n          baseArea = {\n            w: area.maskW / 5 / area.maskW,\n            h: (area.maskW / 5 / area.maskW) * (area.maskW / area.maskH)\n          }\n        } else if (field.type === 'signature' || field.type === 'stamp') {\n          baseArea = {\n            w: area.maskW / 5 / area.maskW,\n            h: (area.maskW / 5 / area.maskW) * (area.maskW / area.maskH) / 2\n          }\n        } else if (field.type === 'initials') {\n          baseArea = {\n            w: area.maskW / 10 / area.maskW,\n            h: area.maskW / 35 / area.maskW\n          }\n        } else {\n          baseArea = {\n            w: area.maskW / 5 / area.maskW,\n            h: area.maskW / 35 / area.maskW\n          }\n        }\n      }\n\n      fieldArea.w = baseArea.w\n      fieldArea.h = baseArea.h\n      fieldArea.y = fieldArea.y - baseArea.h / 2\n\n      if (field.type === 'cells') {\n        fieldArea.cell_w = baseArea.cell_w || (baseArea.w / 5)\n      }\n\n      field.areas ||= []\n\n      const lastArea = field.areas[field.areas.length - 1]\n\n      if (lastArea) {\n        fieldArea.x -= lastArea.w / 2\n        fieldArea.w = lastArea.w\n        fieldArea.h = lastArea.h\n      }\n\n      field.areas.push(fieldArea)\n\n      this.selectedAreaRef.value = fieldArea\n\n      if (this.template.fields.indexOf(field) === -1) {\n        this.template.fields.push(field)\n      }\n\n      this.save()\n\n      document.activeElement?.blur()\n\n      if (field.type === 'heading') {\n        this.$nextTick(() => {\n          const documentRef = this.documentRefs.find((e) => e.document.uuid === area.attachment_uuid)\n          const areaRef = documentRef.pageRefs[area.page].areaRefs.find((ref) => ref.area === this.selectedAreaRef.value)\n\n          areaRef.focusValueInput()\n        })\n      }\n    },\n    addBlankPage () {\n      this.isLoadingBlankPage = true\n\n      const canvas = document.createElement('canvas')\n\n      canvas.width = 816\n      canvas.height = 1056\n\n      const ctx = canvas.getContext('2d')\n\n      ctx.fillStyle = 'white'\n      ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n      canvas.toBlob((blob) => {\n        const file = new File([blob], `Page ${this.template.schema.length + 1}.png`, { type: blob.type, lastModified: Date.now() })\n\n        const formData = new FormData()\n        formData.append('files[]', file)\n\n        this.baseFetch(`/templates/${this.template.id}/documents`, {\n          method: 'POST',\n          body: formData\n        }).then(async (resp) => {\n          this.updateFromUpload(await resp.json())\n        }).finally(() => {\n          this.isLoadingBlankPage = false\n        })\n      }, 'image/png')\n    },\n    updateFromUpload (data) {\n      this.template.schema.push(...data.schema)\n      this.template.documents.push(...data.documents)\n\n      if (data.fields) {\n        this.template.fields = data.fields\n      }\n\n      if (data.submitters) {\n        this.template.submitters = data.submitters\n\n        if (!this.template.submitters.find((s) => s.uuid === this.selectedSubmitter?.uuid)) {\n          this.selectedSubmitter = this.template.submitters[0]\n        }\n      }\n\n      this.$nextTick(() => {\n        this.$refs.previews.scrollTop = this.$refs.previews.scrollHeight\n\n        this.scrollIntoDocument(data.schema[0])\n      })\n\n      if (this.template.name === 'New Document') {\n        this.template.name = this.template.schema[0].name\n      }\n\n      if (this.onUpload) {\n        this.onUpload(this.template)\n      }\n\n      this.save()\n\n      data.documents.forEach((attachment) => {\n        if (attachment.metadata?.pdf?.fields?.length) {\n          this.pendingFieldAttachmentUuids.push(attachment.uuid)\n\n          attachment.metadata.pdf.fields.forEach((field) => {\n            field.submitter_uuid = this.selectedSubmitter.uuid\n\n            this.template.fields.push(field)\n          })\n        }\n      })\n    },\n    updateName (value) {\n      this.template.name = value\n\n      this.save()\n    },\n    onDocumentRemove (item) {\n      if (window.confirm(this.t('are_you_sure'))) {\n        this.template.schema.splice(this.template.schema.indexOf(item), 1)\n      }\n\n      const removedFieldUuids = []\n\n      this.template.fields.forEach((field) => {\n        [...(field.areas || [])].forEach((area) => {\n          if (area.attachment_uuid === item.attachment_uuid) {\n            field.areas.splice(field.areas.indexOf(area), 1)\n\n            removedFieldUuids.push(field.uuid)\n          }\n        })\n      })\n\n      this.template.fields =\n        this.template.fields.filter((f) => !removedFieldUuids.includes(f.uuid) || f.areas?.length)\n\n      this.save()\n    },\n    onDocumentReplace (data) {\n      const { replaceSchemaItem, schema, documents } = data\n\n      this.template.schema.splice(this.template.schema.indexOf(replaceSchemaItem), 1, schema[0])\n      this.template.documents.push(...documents)\n\n      if (data.fields) {\n        this.template.fields = data.fields\n\n        const removedFieldUuids = []\n\n        this.template.fields.forEach((field) => {\n          [...(field.areas || [])].forEach((area) => {\n            if (area.attachment_uuid === replaceSchemaItem.attachment_uuid) {\n              field.areas.splice(field.areas.indexOf(area), 1)\n\n              removedFieldUuids.push(field.uuid)\n            }\n          })\n        })\n\n        this.template.fields =\n          this.template.fields.filter((f) => !removedFieldUuids.includes(f.uuid) || f.areas?.length)\n      }\n\n      if (data.submitters) {\n        this.template.submitters = data.submitters\n\n        if (!this.template.submitters.find((s) => s.uuid === this.selectedSubmitter?.uuid)) {\n          this.selectedSubmitter = this.template.submitters[0]\n        }\n      }\n\n      this.template.fields.forEach((field) => {\n        (field.areas || []).forEach((area) => {\n          if (area.attachment_uuid === replaceSchemaItem.attachment_uuid) {\n            area.attachment_uuid = schema[0].attachment_uuid\n          }\n        })\n      })\n\n      if (this.onUpload) {\n        this.onUpload(this.template)\n      }\n\n      this.save()\n    },\n    moveDocument (item, direction) {\n      const currentIndex = this.template.schema.indexOf(item)\n\n      this.template.schema.splice(currentIndex, 1)\n\n      if (currentIndex + direction > this.template.schema.length) {\n        this.template.schema.unshift(item)\n      } else if (currentIndex + direction < 0) {\n        this.template.schema.push(item)\n      } else {\n        this.template.schema.splice(currentIndex + direction, 0, item)\n      }\n\n      this.save()\n    },\n    maybeShowErrorTemplateAlert (e) {\n      if (!this.isAllRequiredFieldsAdded) {\n        e.preventDefault()\n\n        const fields = this.defaultRequiredFields?.filter((f) => {\n          return !this.template.fields?.some((field) => field.name === f.name)\n        })\n\n        if (fields?.length) {\n          return alert(this.t('add_all_required_fields_to_continue') + ': ' + fields.map((f) => f.name).join(', '))\n        }\n      }\n\n      if (!this.template.fields.length) {\n        e.preventDefault()\n\n        alert(this.t('please_draw_fields_to_prepare_the_document'))\n      } else {\n        const submitterWithoutFields =\n          this.template.submitters.find((submitter) => !this.template.fields.some((f) => f.submitter_uuid === submitter.uuid))\n\n        if (submitterWithoutFields) {\n          e.preventDefault()\n\n          alert(this.t('please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed').replaceAll('{submitter_name}', submitterWithoutFields.name))\n        }\n      }\n    },\n    onSaveClick () {\n      if (!this.isAllRequiredFieldsAdded) {\n        const fields = this.defaultRequiredFields?.filter((f) => {\n          return !this.template.fields?.some((field) => field.name === f.name)\n        })\n\n        if (fields?.length) {\n          return alert(this.t('add_all_required_fields_to_continue') + ': ' + fields.map((f) => f.name).join(', '))\n        }\n      }\n\n      if (!this.template.fields.length) {\n        alert(this.t('please_draw_fields_to_prepare_the_document'))\n      } else {\n        const submitterWithoutFields =\n          this.template.submitters.find((submitter) => !this.template.fields.some((f) => f.submitter_uuid === submitter.uuid))\n\n        if (submitterWithoutFields) {\n          alert(this.t('please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed').replaceAll('{submitter_name}', submitterWithoutFields.name))\n        } else {\n          this.isSaving = true\n\n          this.save().then(() => {\n            window.Turbo.visit(`/templates/${this.template.id}`)\n          }).finally(() => {\n            this.isSaving = false\n          })\n        }\n      }\n    },\n    scrollToArea (area) {\n      const documentRef = this.documentRefs.find((a) => a.document.uuid === area.attachment_uuid)\n\n      documentRef.scrollToArea(area)\n\n      this.selectedAreaRef.value = area\n    },\n    baseFetch (path, options = {}) {\n      return fetch(this.baseUrl + path, {\n        ...options,\n        headers: {\n          'X-CSRF-Token': this.authenticityToken,\n          ...this.fetchOptions.headers,\n          ...options.headers\n        }\n      })\n    },\n    save ({ force } = { force: false }) {\n      this.pendingFieldAttachmentUuids = []\n\n      if (this.onChange) {\n        this.onChange(this.template)\n      }\n\n      if (!this.autosave && !force) {\n        return Promise.resolve({})\n      }\n\n      this.$nextTick(() => {\n        if (this.$el.closest('template-builder')) {\n          this.$el.closest('template-builder').dataset.template = JSON.stringify(this.template)\n        }\n      })\n\n      this.pushUndo()\n\n      return this.baseFetch(`/templates/${this.template.id}`, {\n        method: 'PUT',\n        body: JSON.stringify({\n          template: {\n            name: this.template.name,\n            schema: this.template.schema,\n            submitters: this.template.submitters,\n            fields: this.template.fields\n          }\n        }),\n        headers: { 'Content-Type': 'application/json' }\n      }).then(() => {\n        if (this.onSave) {\n          this.onSave(this.template)\n        }\n      })\n    }\n  }\n}\n</script>\n","<template>\n  <div>\n    <label\n      id=\"add_document_button\"\n      :for=\"inputId\"\n      class=\"btn btn-outline w-full\"\n      :class=\"{ 'btn-disabled': isLoading || isProcessing }\"\n    >\n      <IconInnerShadowTop\n        v-if=\"isLoading || isProcessing\"\n        width=\"20\"\n        class=\"animate-spin\"\n      />\n      <IconUpload\n        v-else\n        width=\"20\"\n      />\n      <span v-if=\"isLoading\">\n        {{ t('uploading_') }}\n      </span>\n      <span v-else-if=\"isProcessing\">\n        {{ t('processing_') }}\n      </span>\n      <span v-else>\n        {{ t('add_document') }}\n      </span>\n    </label>\n    <form\n      ref=\"form\"\n      class=\"hidden\"\n    >\n      <input\n        :id=\"inputId\"\n        ref=\"input\"\n        name=\"files[]\"\n        type=\"file\"\n        :accept=\"acceptFileTypes\"\n        multiple\n        @change=\"upload\"\n      >\n    </form>\n  </div>\n</template>\n\n<script>\nimport { IconUpload, IconInnerShadowTop } from '@tabler/icons-vue'\n\nexport default {\n  name: 'DocumentsUpload',\n  components: {\n    IconUpload,\n    IconInnerShadowTop\n  },\n  inject: ['baseFetch', 't'],\n  props: {\n    templateId: {\n      type: [Number, String],\n      required: true\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    }\n  },\n  emits: ['success'],\n  data () {\n    return {\n      isLoading: false,\n      isProcessing: false\n    }\n  },\n  computed: {\n    inputId () {\n      return 'el' + Math.random().toString(32).split('.')[1]\n    }\n  },\n  methods: {\n    async upload () {\n      this.isLoading = true\n\n      this.baseFetch(`/templates/${this.templateId}/documents`, {\n        method: 'POST',\n        body: new FormData(this.$refs.form)\n      }).then((resp) => {\n        if (resp.ok) {\n          resp.json().then((data) => {\n            this.$emit('success', data)\n            this.$refs.input.value = ''\n          })\n        } else if (resp.status === 422) {\n          resp.json().then((data) => {\n            if (data.status === 'pdf_encrypted') {\n              const formData = new FormData(this.$refs.form)\n\n              formData.append('password', prompt(this.t('enter_pdf_password')))\n\n              this.baseFetch(`/templates/${this.templateId}/documents`, {\n                method: 'POST',\n                body: formData\n              }).then(async (resp) => {\n                if (resp.ok) {\n                  this.$emit('success', await resp.json())\n                  this.$refs.input.value = ''\n                } else {\n                  alert(this.t('wrong_password'))\n                }\n              })\n            }\n          })\n        }\n      }).finally(() => {\n        this.isLoading = false\n      })\n    }\n  }\n}\n</script>\n","import { render } from \"./upload.vue?vue&type=template&id=37b74aa8\"\nimport script from \"./upload.vue?vue&type=script&lang=js\"\nexport * from \"./upload.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    class=\"flex h-60 w-full\"\n    @dragover.prevent\n    @drop.prevent=\"onDropFiles\"\n  >\n    <label\n      id=\"document_dropzone\"\n      class=\"w-full relative hover:bg-base-200/30 rounded-md border border-2 border-base-content/10 border-dashed\"\n      :for=\"inputId\"\n      :class=\"{ 'opacity-50': isLoading || isProcessing }\"\n    >\n      <div class=\"absolute top-0 right-0 left-0 bottom-0 flex items-center justify-center\">\n        <div class=\"flex flex-col items-center\">\n          <IconInnerShadowTop\n            v-if=\"isLoading || isProcessing\"\n            class=\"animate-spin\"\n            :width=\"40\"\n            :height=\"40\"\n          />\n          <IconCloudUpload\n            v-else\n            :width=\"40\"\n            :height=\"40\"\n          />\n          <div\n            v-if=\"message\"\n            class=\"font-medium text-lg mb-1\"\n          >\n            {{ message }}\n          </div>\n          <div class=\"text-sm\">\n            <span class=\"font-medium\">{{ t('click_to_upload') }}</span> {{ t('or_drag_and_drop_files') }}\n          </div>\n        </div>\n      </div>\n      <form\n        ref=\"form\"\n        class=\"hidden\"\n      >\n        <input\n          :id=\"inputId\"\n          ref=\"input\"\n          type=\"file\"\n          name=\"files[]\"\n          :accept=\"acceptFileTypes\"\n          multiple\n          @change=\"upload\"\n        >\n      </form>\n    </label>\n  </div>\n</template>\n\n<script>\nimport Upload from './upload'\nimport { IconCloudUpload, IconInnerShadowTop } from '@tabler/icons-vue'\n\nexport default {\n  name: 'FileDropzone',\n  components: {\n    IconCloudUpload,\n    IconInnerShadowTop\n  },\n  inject: ['baseFetch', 't'],\n  props: {\n    templateId: {\n      type: [Number, String],\n      required: true\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    }\n  },\n  emits: ['success'],\n  data () {\n    return {\n      isLoading: false,\n      isProcessing: false\n    }\n  },\n  computed: {\n    inputId () {\n      return 'el' + Math.random().toString(32).split('.')[1]\n    },\n    message () {\n      if (this.isLoading) {\n        return this.t('uploading')\n      } else if (this.isProcessing) {\n        return this.t('processing_')\n      } else if (this.acceptFileTypes === 'image/*, application/pdf') {\n        return this.t('add_pdf_documents_or_images')\n      } else {\n        return this.t('add_documents_or_images')\n      }\n    }\n  },\n  methods: {\n    upload: Upload.methods.upload,\n    onDropFiles (e) {\n      if (this.acceptFileTypes !== 'image/*, application/pdf' || [...e.dataTransfer.files].every((f) => f.type.match(/(?:image\\/)|(?:application\\/pdf)/))) {\n        this.$refs.input.files = e.dataTransfer.files\n\n        this.upload()\n      } else {\n        alert(this.t('only_pdf_and_images_are_supported'))\n      }\n    }\n  }\n}\n</script>\n","import { render } from \"./dropzone.vue?vue&type=template&id=45fbf030\"\nimport script from \"./dropzone.vue?vue&type=script&lang=js\"\nexport * from \"./dropzone.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div :class=\"withStickySubmitters ? 'sticky top-0 z-[1]' : ''\">\n    <FieldSubmitter\n      :model-value=\"selectedSubmitter.uuid\"\n      class=\"roles-dropdown w-full rounded-lg\"\n      :style=\"withStickySubmitters ? { backgroundColor } : {}\"\n      :submitters=\"submitters\"\n      :menu-style=\"{ backgroundColor: ['', null, 'transparent'].includes(backgroundColor) ? 'white' : backgroundColor }\"\n      :editable=\"editable && !defaultSubmitters.length\"\n      @new-submitter=\"save\"\n      @remove=\"removeSubmitter\"\n      @name-change=\"save\"\n      @update:model-value=\"$emit('change-submitter', submitters.find((s) => s.uuid === $event))\"\n    />\n  </div>\n  <div\n    ref=\"fields\"\n    class=\"fields mb-1 mt-2\"\n    @dragover.prevent=\"onFieldDragover\"\n    @drop=\"reorderFields\"\n  >\n    <Field\n      v-for=\"field in submitterFields\"\n      :key=\"field.uuid\"\n      :data-uuid=\"field.uuid\"\n      :field=\"field\"\n      :type-index=\"fields.filter((f) => f.type === field.type).indexOf(field)\"\n      :editable=\"editable && (!fieldsDragFieldRef.value || fieldsDragFieldRef.value !== field)\"\n      :default-field=\"defaultFields.find((f) => f.name === field.name)\"\n      :draggable=\"editable\"\n      @dragstart=\"fieldsDragFieldRef.value = field\"\n      @dragend=\"fieldsDragFieldRef.value = null\"\n      @remove=\"removeField\"\n      @scroll-to=\"$emit('scroll-to-area', $event)\"\n      @set-draw=\"$emit('set-draw', $event)\"\n    />\n  </div>\n  <div v-if=\"submitterDefaultFields.length && editable\">\n    <hr class=\"mb-2\">\n    <template v-if=\"isShowFieldSearch\">\n      <input\n        v-model=\"defaultFieldsSearch\"\n        :placeholder=\"t('search_field')\"\n        class=\"input input-ghost input-xs px-0 text-base mb-2 !outline-0 !rounded bg-transparent w-full\"\n      >\n      <hr class=\"mb-2\">\n    </template>\n    <div\n      class=\"overflow-auto relative\"\n      :style=\"{\n        maxHeight: isShowFieldSearch ? '210px' : '',\n        minHeight: isShowFieldSearch ? '210px' : ''\n      }\"\n    >\n      <div\n        v-if=\"!filteredSubmitterDefaultFields.length && defaultFieldsSearch\"\n        class=\"top-0 bottom-0 text-center absolute flex items-center justify-center w-full flex-col\"\n      >\n        <div>\n          {{ t('field_not_found') }}\n        </div>\n        <a\n          href=\"#\"\n          class=\"link\"\n          @click.prevent=\"defaultFieldsSearch = ''\"\n        >\n          {{ t('clear') }}\n        </a>\n      </div>\n      <template\n        v-for=\"field in filteredSubmitterDefaultFields\"\n        :key=\"field.name\"\n      >\n        <div\n          :style=\"{ backgroundColor }\"\n          draggable=\"true\"\n          class=\"default-field border border-base-300 rounded rounded-tr-none relative group mb-2\"\n          @dragstart=\"onDragstart({ type: 'text', ...field })\"\n          @dragend=\"$emit('drag-end')\"\n        >\n          <div class=\"flex items-center justify-between relative cursor-grab\">\n            <div class=\"flex items-center p-1 space-x-1\">\n              <IconDrag />\n              <FieldType\n                :model-value=\"field.type || 'text'\"\n                :editable=\"false\"\n                :button-width=\"20\"\n              />\n              <span class=\"block pl-0.5\">\n                {{ field.title || field.name }}\n              </span>\n            </div>\n            <span\n              v-if=\"defaultRequiredFields.includes(field)\"\n              :data-tip=\"t('required')\"\n              class=\"text-red-400 text-3xl pr-1.5 tooltip tooltip-left h-8\"\n            >\n              *\n            </span>\n          </div>\n        </div>\n      </template>\n    </div>\n  </div>\n  <div\n    v-if=\"editable && !onlyDefinedFields\"\n    class=\"grid grid-cols-3 gap-1 pb-2\"\n  >\n    <template\n      v-for=\"(icon, type) in fieldIconsSorted\"\n      :key=\"type\"\n    >\n      <button\n        v-if=\"(fieldTypes.length === 0 || fieldTypes.includes(type)) && (withPhone || type != 'phone') && (withPayment || type != 'payment')\"\n        draggable=\"true\"\n        class=\"field-type-button group flex items-center justify-center border border-dashed w-full rounded relative\"\n        :style=\"{ backgroundColor }\"\n        :class=\"drawFieldType === type ? 'border-base-content/40' : 'border-base-300 hover:border-base-content/20'\"\n        @dragstart=\"onDragstart({ type: type })\"\n        @dragend=\"$emit('drag-end')\"\n        @click=\"['file', 'payment'].includes(type) ? $emit('add-field', type) : $emit('set-draw-type', type)\"\n      >\n        <div\n          class=\"flex items-console transition-all cursor-grab h-full absolute left-0\"\n          :class=\"drawFieldType === type ? 'bg-base-200/50' : 'group-hover:bg-base-200/50'\"\n        >\n          <IconDrag class=\"my-auto\" />\n        </div>\n        <div class=\"flex items-center flex-col px-2 py-2\">\n          <component :is=\"icon\" />\n          <span class=\"text-xs mt-1\">\n            {{ fieldNames[type] }}\n          </span>\n        </div>\n      </button>\n      <div\n        v-else-if=\"type == 'phone' && (fieldTypes.length === 0 || fieldTypes.includes(type))\"\n        class=\"tooltip tooltip-bottom flex\"\n        :class=\"{'tooltip-bottom-end': withPayment, 'tooltip-bottom': !withPayment }\"\n        :data-tip=\"t('unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification')\"\n      >\n        <a\n          href=\"https://www.docuseal.co/pricing\"\n          target=\"_blank\"\n          class=\"opacity-50 flex items-center justify-center border border-dashed border-base-300 w-full rounded relative\"\n          :style=\"{ backgroundColor }\"\n        >\n          <div class=\"w-0 absolute left-0\">\n            <IconLock\n              width=\"18\"\n              height=\"18\"\n              stroke-width=\"1.5\"\n            />\n          </div>\n          <div class=\"flex items-center flex-col px-2 py-2\">\n            <component :is=\"icon\" />\n            <span class=\"text-xs mt-1\">\n              {{ fieldNames[type] }}\n            </span>\n          </div>\n        </a>\n      </div>\n    </template>\n  </div>\n  <div\n    v-if=\"fields.length < 4 && editable && withHelp\"\n    class=\"text-xs p-2 border border-base-200 rounded\"\n  >\n    <ul class=\"list-disc list-outside ml-3\">\n      <li>\n        {{ t('draw_a_text_field_on_the_page_with_a_mouse') }}\n      </li>\n      <li>\n        {{ t('drag_and_drop_any_other_field_type_on_the_page') }}\n      </li>\n      <li>\n        {{ t('click_on_the_field_type_above_to_start_drawing_it') }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport Field from './field'\nimport FieldType from './field_type'\nimport FieldSubmitter from './field_submitter'\nimport { IconLock, IconCirclePlus } from '@tabler/icons-vue'\nimport IconDrag from './icon_drag'\n\nexport default {\n  name: 'TemplateFields',\n  components: {\n    Field,\n    FieldType,\n    IconCirclePlus,\n    FieldSubmitter,\n    IconDrag,\n    IconLock\n  },\n  inject: ['save', 'backgroundColor', 'withPhone', 'withPayment', 't', 'fieldsDragFieldRef'],\n  props: {\n    fields: {\n      type: Array,\n      required: true\n    },\n    withHelp: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    defaultFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    defaultRequiredFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    onlyDefinedFields: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    drawFieldType: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    defaultSubmitters: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    withStickySubmitters: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    fieldTypes: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    submitters: {\n      type: Array,\n      required: true\n    },\n    selectedSubmitter: {\n      type: Object,\n      required: true\n    }\n  },\n  emits: ['add-field', 'set-draw', 'set-draw-type', 'set-drag', 'drag-end', 'scroll-to-area', 'change-submitter'],\n  data () {\n    return {\n      defaultFieldsSearch: ''\n    }\n  },\n  computed: {\n    fieldNames: FieldType.computed.fieldNames,\n    fieldIcons: FieldType.computed.fieldIcons,\n    isShowFieldSearch () {\n      return this.submitterDefaultFields.length > 15\n    },\n    fieldIconsSorted () {\n      if (this.fieldTypes.length) {\n        return this.fieldTypes.reduce((acc, type) => {\n          acc[type] = this.fieldIcons[type]\n\n          return acc\n        }, {})\n      } else {\n        return Object.fromEntries(Object.entries(this.fieldIcons).filter(([key]) => key !== 'heading'))\n      }\n    },\n    submitterFields () {\n      return this.fields.filter((f) => f.submitter_uuid === this.selectedSubmitter.uuid)\n    },\n    submitterDefaultFields () {\n      return this.defaultFields.filter((f) => {\n        return !this.submitterFields.find((field) => field.name === f.name) && (!f.role || f.role === this.selectedSubmitter.name)\n      })\n    },\n    filteredSubmitterDefaultFields () {\n      if (this.defaultFieldsSearch) {\n        return this.submitterDefaultFields.filter((f) => f.name.toLowerCase().includes(this.defaultFieldsSearch.toLowerCase()))\n      } else {\n        return this.submitterDefaultFields\n      }\n    }\n  },\n  methods: {\n    onDragstart (field) {\n      this.$emit('set-drag', field)\n    },\n    onFieldDragover (e) {\n      const targetField = e.target.closest('[data-uuid]')\n      const dragField = this.$refs.fields.querySelector(`[data-uuid=\"${this.fieldsDragFieldRef.value.uuid}\"]`)\n\n      if (dragField && targetField && targetField !== dragField) {\n        const fields = Array.from(this.$refs.fields.children)\n        const currentIndex = fields.indexOf(dragField)\n        const targetIndex = fields.indexOf(targetField)\n\n        if (currentIndex < targetIndex) {\n          targetField.after(dragField)\n        } else {\n          targetField.before(dragField)\n        }\n      }\n    },\n    reorderFields () {\n      Array.from(this.$refs.fields.children).forEach((el, index) => {\n        if (el.dataset.uuid !== this.fields[index].uuid) {\n          const field = this.fields.find((f) => f.uuid === el.dataset.uuid)\n\n          this.fields.splice(this.fields.indexOf(field), 1)\n          this.fields.splice(index, 0, field)\n        }\n      })\n\n      this.save()\n    },\n    removeSubmitter (submitter) {\n      [...this.fields].forEach((field) => {\n        if (field.submitter_uuid === submitter.uuid) {\n          this.removeField(field)\n        }\n      })\n\n      this.submitters.splice(this.submitters.indexOf(submitter), 1)\n\n      if (this.selectedSubmitter === submitter) {\n        this.$emit('change-submitter', this.submitters[0])\n      }\n\n      this.save()\n    },\n    removeField (field) {\n      this.fields.splice(this.fields.indexOf(field), 1)\n\n      this.fields.forEach((f) => {\n        (f.conditions || []).forEach((c) => {\n          if (c.field_uuid === field.uuid) {\n            f.conditions.splice(f.conditions.indexOf(c), 1)\n          }\n        })\n      })\n\n      this.save()\n    }\n  }\n}\n</script>\n","<template>\n  <div\n    class=\"list-field group mb-2\"\n  >\n    <div\n      class=\"border border-base-300 rounded rounded-tr-none relative group\"\n      :style=\"{ backgroundColor: backgroundColor }\"\n    >\n      <div class=\"flex items-center justify-between relative group/contenteditable-container\">\n        <div\n          class=\"absolute top-0 bottom-0 right-0 left-0 cursor-pointer\"\n          @click=\"scrollToFirstArea\"\n        />\n        <div class=\"flex items-center p-1 space-x-1\">\n          <FieldType\n            v-model=\"field.type\"\n            :editable=\"editable && !defaultField && field.type != 'heading'\"\n            :button-width=\"20\"\n            :menu-classes=\"'mt-1.5'\"\n            :menu-style=\"{ backgroundColor: dropdownBgColor }\"\n            @update:model-value=\"[maybeUpdateOptions(), save()]\"\n            @click=\"scrollToFirstArea\"\n          />\n          <Contenteditable\n            ref=\"name\"\n            :model-value=\"(defaultField ? (field.title || field.name) : field.name) || defaultName\"\n            :editable=\"editable && !defaultField && field.type != 'heading'\"\n            :icon-inline=\"true\"\n            :icon-width=\"18\"\n            :icon-stroke-width=\"1.6\"\n            @focus=\"[onNameFocus(), scrollToFirstArea()]\"\n            @blur=\"onNameBlur\"\n          />\n        </div>\n        <div\n          v-if=\"isNameFocus\"\n          class=\"flex items-center relative\"\n        >\n          <template v-if=\"field.type != 'phone'\">\n            <input\n              :id=\"`required-checkbox-${field.uuid}`\"\n              v-model=\"field.required\"\n              type=\"checkbox\"\n              class=\"checkbox checkbox-xs no-animation rounded\"\n              @mousedown.prevent\n            >\n            <label\n              :for=\"`required-checkbox-${field.uuid}`\"\n              class=\"label text-xs\"\n              @click.prevent=\"field.required = !field.required\"\n              @mousedown.prevent\n            >{{ t('required') }}</label>\n          </template>\n        </div>\n        <div\n          v-else-if=\"editable\"\n          class=\"flex items-center space-x-1\"\n        >\n          <button\n            v-if=\"field && !field.areas?.length\"\n            :title=\"t('draw')\"\n            class=\"relative cursor-pointer text-transparent group-hover:text-base-content\"\n            @click=\"$emit('set-draw', { field })\"\n          >\n            <IconNewSection\n              :width=\"18\"\n              :stroke-width=\"1.6\"\n            />\n          </button>\n          <button\n            v-if=\"field.preferences?.formula\"\n            class=\"relative cursor-pointer text-transparent group-hover:text-base-content\"\n            :title=\"t('formula')\"\n            @click=\"isShowFormulaModal = true\"\n          >\n            <IconMathFunction\n              :width=\"18\"\n              :stroke-width=\"1.6\"\n            />\n          </button>\n          <button\n            v-if=\"field.conditions?.length\"\n            class=\"relative cursor-pointer text-transparent group-hover:text-base-content\"\n            :title=\"t('condition')\"\n            @click=\"isShowConditionsModal = true\"\n          >\n            <IconRouteAltLeft\n              :width=\"18\"\n              :stroke-width=\"1.6\"\n            />\n          </button>\n          <PaymentSettings\n            v-if=\"field.type === 'payment'\"\n            :field=\"field\"\n            @click-condition=\"isShowConditionsModal = true\"\n            @click-description=\"isShowDescriptionModal = true\"\n            @click-formula=\"isShowFormulaModal = true\"\n          />\n          <span\n            v-else-if=\"field.type !== 'heading'\"\n            class=\"dropdown dropdown-end\"\n            @mouseenter=\"renderDropdown = true\"\n            @touchstart=\"renderDropdown = true\"\n          >\n            <label\n              tabindex=\"0\"\n              :title=\"t('settings')\"\n              class=\"cursor-pointer text-transparent group-hover:text-base-content\"\n            >\n              <IconSettings\n                :width=\"18\"\n                :stroke-width=\"1.6\"\n              />\n            </label>\n            <ul\n              v-if=\"renderDropdown\"\n              tabindex=\"0\"\n              class=\"mt-1.5 dropdown-content menu menu-xs p-2 shadow rounded-box w-52 z-10\"\n              :style=\"{ backgroundColor: dropdownBgColor }\"\n              draggable=\"true\"\n              @dragstart.prevent.stop\n              @click=\"closeDropdown\"\n            >\n              <FieldSettings\n                :field=\"field\"\n                :default-field=\"defaultField\"\n                :editable=\"editable\"\n                :background-color=\"dropdownBgColor\"\n                @click-formula=\"isShowFormulaModal = true\"\n                @click-description=\"isShowDescriptionModal = true\"\n                @click-condition=\"isShowConditionsModal = true\"\n                @set-draw=\"$emit('set-draw', $event)\"\n                @remove-area=\"removeArea\"\n                @scroll-to=\"$emit('scroll-to', $event)\"\n              />\n            </ul>\n          </span>\n          <button\n            class=\"relative text-transparent group-hover:text-base-content pr-1\"\n            :title=\"t('remove')\"\n            @click=\"$emit('remove', field)\"\n          >\n            <IconTrashX\n              :width=\"18\"\n              :stroke-width=\"1.6\"\n            />\n          </button>\n        </div>\n      </div>\n      <div\n        v-if=\"field.options\"\n        ref=\"options\"\n        class=\"border-t border-base-300 mx-2 pt-2 space-y-1.5\"\n        draggable=\"true\"\n        @dragstart.prevent.stop\n      >\n        <div\n          v-for=\"(option, index) in field.options\"\n          :key=\"option.uuid\"\n          class=\"flex space-x-1.5 items-center\"\n        >\n          <span class=\"text-sm w-3.5\">\n            {{ index + 1 }}.\n          </span>\n          <div\n            v-if=\"editable && ['radio', 'multiple'].includes(field.type) && (index > 0 || field.areas.find((a) => a.option_uuid) || !field.areas.length) && !field.areas.find((a) => a.option_uuid === option.uuid)\"\n            class=\"items-center flex w-full\"\n          >\n            <input\n              v-model=\"option.value\"\n              class=\"w-full input input-primary input-xs text-sm bg-transparent !pr-7 -mr-6\"\n              type=\"text\"\n              dir=\"auto\"\n              required\n              :placeholder=\"`${t('option')} ${index + 1}`\"\n              @blur=\"save\"\n            >\n            <button\n              :title=\"t('draw')\"\n              tabindex=\"-1\"\n              @click.prevent=\"$emit('set-draw', { field, option })\"\n            >\n              <IconNewSection\n                :width=\"18\"\n                :stroke-width=\"1.6\"\n              />\n            </button>\n          </div>\n          <input\n            v-else\n            v-model=\"option.value\"\n            class=\"w-full input input-primary input-xs text-sm bg-transparent\"\n            :placeholder=\"`${t('option')} ${index + 1}`\"\n            type=\"text\"\n            :readonly=\"!editable\"\n            required\n            dir=\"auto\"\n            @focus=\"maybeFocusOnOptionArea(option)\"\n            @blur=\"save\"\n          >\n          <button\n            v-if=\"editable\"\n            class=\"text-sm w-3.5\"\n            tabindex=\"-1\"\n            @click=\"removeOption(option)\"\n          >\n            &times;\n          </button>\n        </div>\n        <div\n          v-if=\"field.options && !editable\"\n          class=\"pb-1\"\n        />\n        <button\n          v-else-if=\"field.options && editable\"\n          class=\"text-center text-sm w-full pb-1\"\n          @click=\"addOption\"\n        >\n          + {{ t('add_option') }}\n        </button>\n      </div>\n    </div>\n    <Teleport\n      v-if=\"isShowFormulaModal\"\n      :to=\"modalContainerEl\"\n    >\n      <FormulaModal\n        :field=\"field\"\n        :editable=\"editable && !defaultField\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowFormulaModal = false\"\n      />\n    </Teleport>\n    <Teleport\n      v-if=\"isShowConditionsModal\"\n      :to=\"modalContainerEl\"\n    >\n      <ConditionsModal\n        :field=\"field\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowConditionsModal = false\"\n      />\n    </Teleport>\n    <Teleport\n      v-if=\"isShowDescriptionModal\"\n      :to=\"modalContainerEl\"\n    >\n      <DescriptionModal\n        :field=\"field\"\n        :editable=\"editable && !defaultField\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowDescriptionModal = false\"\n      />\n    </Teleport>\n  </div>\n</template>\n\n<script>\nimport Contenteditable from './contenteditable'\nimport FieldType from './field_type'\nimport PaymentSettings from './payment_settings'\nimport FieldSettings from './field_settings'\nimport FormulaModal from './formula_modal'\nimport ConditionsModal from './conditions_modal'\nimport DescriptionModal from './description_modal'\nimport { IconRouteAltLeft, IconMathFunction, IconNewSection, IconTrashX, IconSettings } from '@tabler/icons-vue'\nimport { v4 } from 'uuid'\n\nexport default {\n  name: 'TemplateField',\n  components: {\n    Contenteditable,\n    IconSettings,\n    FieldSettings,\n    PaymentSettings,\n    IconNewSection,\n    FormulaModal,\n    DescriptionModal,\n    ConditionsModal,\n    IconRouteAltLeft,\n    IconTrashX,\n    IconMathFunction,\n    FieldType\n  },\n  inject: ['template', 'save', 'backgroundColor', 'selectedAreaRef', 't', 'locale'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    },\n    defaultField: {\n      type: Object,\n      required: false,\n      default: null\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    }\n  },\n  emits: ['set-draw', 'remove', 'scroll-to'],\n  data () {\n    return {\n      isNameFocus: false,\n      showPaymentModal: false,\n      isShowFormulaModal: false,\n      isShowConditionsModal: false,\n      isShowDescriptionModal: false,\n      renderDropdown: false\n    }\n  },\n  computed: {\n    fieldNames: FieldType.computed.fieldNames,\n    dropdownBgColor () {\n      return ['', null, 'transparent'].includes(this.backgroundColor) ? 'white' : this.backgroundColor\n    },\n    schemaAttachmentsIndexes () {\n      return (this.template.schema || []).reduce((acc, item, index) => {\n        acc[item.attachment_uuid] = index\n\n        return acc\n      }, {})\n    },\n    sortedAreas () {\n      return (this.field.areas || []).sort((a, b) => {\n        return this.schemaAttachmentsIndexes[a.attachment_uuid] - this.schemaAttachmentsIndexes[b.attachment_uuid]\n      })\n    },\n    modalContainerEl () {\n      return this.$el.getRootNode().querySelector('#docuseal_modal_container')\n    },\n    defaultName () {\n      return this.buildDefaultName(this.field, this.template.fields)\n    },\n    areas () {\n      return this.field.areas || []\n    }\n  },\n  created () {\n    this.field.preferences ||= {}\n\n    if (this.field.type === 'date') {\n      this.field.preferences.format ||=\n       ({ 'de-DE': 'DD.MM.YYYY' }[this.locale] || ((Intl.DateTimeFormat().resolvedOptions().locale.endsWith('-US') || new Intl.DateTimeFormat('en-US', { timeZoneName: 'short' }).format(new Date()).match(/\\s(?:CST|CDT|PST|PDT|EST|EDT)$/)) ? 'MM/DD/YYYY' : 'DD/MM/YYYY'))\n    }\n  },\n  methods: {\n    removeArea (area) {\n      this.field.areas.splice(this.field.areas.indexOf(area), 1)\n\n      this.save()\n    },\n    buildDefaultName (field, fields) {\n      if (field.type === 'payment' && field.preferences?.price && !field.preferences?.formula) {\n        const { price, currency } = field.preferences || {}\n\n        const formattedPrice = new Intl.NumberFormat([], {\n          style: 'currency',\n          currency\n        }).format(price)\n\n        return `${this.fieldNames[field.type]} ${formattedPrice}`\n      } else {\n        const typeIndex = fields.filter((f) => f.type === field.type).indexOf(field)\n\n        if (this.field.type === 'heading') {\n          return `${this.fieldNames[field.type]} ${typeIndex + 1}`\n        } else {\n          const suffix = { multiple: this.t('select'), radio: this.t('group') }[field.type] || this.t('field')\n          return `${this.fieldNames[field.type]} ${suffix} ${typeIndex + 1}`\n        }\n      }\n    },\n    onNameFocus (e) {\n      this.isNameFocus = true\n\n      if (!this.field.name) {\n        setTimeout(() => {\n          this.$refs.name.$refs.contenteditable.innerText = ' '\n        }, 1)\n      }\n    },\n    maybeFocusOnOptionArea (option) {\n      const area = this.field.areas.find((a) => a.option_uuid === option.uuid)\n\n      if (area) {\n        this.selectedAreaRef.value = area\n      }\n    },\n    scrollToFirstArea () {\n      return this.sortedAreas[0] && this.$emit('scroll-to', this.sortedAreas[0])\n    },\n    closeDropdown () {\n      document.activeElement.blur()\n    },\n    addOption () {\n      this.field.options.push({ value: '', uuid: v4() })\n\n      this.$nextTick(() => {\n        const inputs = this.$refs.options.querySelectorAll('input')\n\n        inputs[inputs.length - 1]?.focus()\n      })\n\n      this.save()\n    },\n    removeOption (option) {\n      this.field.options.splice(this.field.options.indexOf(option), 1)\n\n      const optionIndex = this.field.areas.findIndex((a) => a.option_uuid === option.uuid)\n\n      if (optionIndex !== -1) {\n        this.field.areas.splice(this.field.areas.findIndex((a) => a.option_uuid === option.uuid), 1)\n      }\n\n      this.save()\n    },\n    maybeUpdateOptions () {\n      delete this.field.default_value\n\n      if (!['radio', 'multiple', 'select'].includes(this.field.type)) {\n        delete this.field.options\n      }\n\n      if (['radio', 'multiple', 'select'].includes(this.field.type)) {\n        this.field.options ||= [{ value: '', uuid: v4() }]\n      }\n\n      if (['heading'].includes(this.field.type)) {\n        this.field.readonly = true\n      }\n\n      (this.field.areas || []).forEach((area) => {\n        if (this.field.type === 'cells') {\n          area.cell_w = area.w * 2 / Math.floor(area.w / area.h)\n        } else {\n          delete area.cell_w\n        }\n      })\n    },\n    onNameBlur (e) {\n      const text = this.$refs.name.$refs.contenteditable.innerText.trim()\n\n      if (text) {\n        this.field.name = text\n      } else {\n        this.field.name = ''\n        this.$refs.name.$refs.contenteditable.innerText = this.defaultName\n      }\n\n      this.isNameFocus = false\n\n      this.save()\n    }\n  }\n}\n</script>\n","<template>\n  <div\n    class=\"group/contenteditable relative overflow-visible\"\n    :class=\"{ 'flex items-center': !iconInline }\"\n  >\n    <span\n      ref=\"contenteditable\"\n      dir=\"auto\"\n      :contenteditable=\"editable\"\n      style=\"min-width: 2px\"\n      :class=\"iconInline ? 'inline' : 'block'\"\n      class=\"peer outline-none focus:block\"\n      @paste.prevent=\"onPaste\"\n      @keydown.enter.prevent=\"blurContenteditable\"\n      @focus=\"$emit('focus', $event)\"\n      @blur=\"onBlur\"\n    >\n      {{ value }}\n    </span>\n    <span\n      v-if=\"withRequired\"\n      title=\"Required\"\n      class=\"text-red-500 peer-focus:hidden\"\n      @click=\"focusContenteditable\"\n    >\n      *\n    </span>\n    <IconPencil\n      class=\"cursor-pointer flex-none opacity-0 group-hover/contenteditable-container:opacity-100 group-hover/contenteditable:opacity-100 align-middle peer-focus:hidden\"\n      :style=\"iconInline ? {} : { right: -(1.1 * iconWidth) + 'px' }\"\n      :title=\"t('edit')\"\n      :class=\"{ invisible: !editable, 'ml-1': !withRequired, 'absolute': !iconInline, 'inline align-bottom': iconInline }\"\n      :width=\"iconWidth\"\n      :stroke-width=\"iconStrokeWidth\"\n      @click=\"[focusContenteditable(), selectOnEditClick && selectContent()]\"\n    />\n  </div>\n</template>\n\n<script>\nimport { IconPencil } from '@tabler/icons-vue'\n\nexport default {\n  name: 'ContenteditableField',\n  components: {\n    IconPencil\n  },\n  inject: ['t'],\n  props: {\n    modelValue: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    iconInline: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    iconWidth: {\n      type: Number,\n      required: false,\n      default: 30\n    },\n    withRequired: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    selectOnEditClick: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    iconStrokeWidth: {\n      type: Number,\n      required: false,\n      default: 2\n    }\n  },\n  emits: ['update:model-value', 'focus', 'blur'],\n  data () {\n    return {\n      value: ''\n    }\n  },\n  watch: {\n    modelValue: {\n      handler (value) {\n        this.value = value\n      },\n      immediate: true\n    }\n  },\n  methods: {\n    onPaste (e) {\n      const text = (e.clipboardData || window.clipboardData).getData('text/plain')\n\n      const selection = this.$el.getRootNode().getSelection()\n\n      if (selection.rangeCount) {\n        selection.deleteFromDocument()\n        selection.getRangeAt(0).insertNode(document.createTextNode(text))\n        selection.collapseToEnd()\n      }\n    },\n    selectContent () {\n      const el = this.$refs.contenteditable\n\n      const range = document.createRange()\n\n      range.selectNodeContents(el)\n\n      const sel = window.getSelection()\n\n      sel.removeAllRanges()\n\n      sel.addRange(range)\n    },\n    onBlur (e) {\n      setTimeout(() => {\n        this.value = this.$refs.contenteditable.innerText.trim() || this.modelValue\n        this.$emit('update:model-value', this.value)\n        this.$emit('blur', e)\n      }, 1)\n    },\n    focusContenteditable () {\n      this.$refs.contenteditable.focus()\n    },\n    blurContenteditable () {\n      this.$refs.contenteditable.blur()\n    }\n  }\n}\n</script>\n","import { render } from \"./contenteditable.vue?vue&type=template&id=6d0581d5\"\nimport script from \"./contenteditable.vue?vue&type=script&lang=js\"\nexport * from \"./contenteditable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <span\n    class=\"dropdown\"\n    @mouseenter=\"renderDropdown = true\"\n    @touchstart=\"renderDropdown = true\"\n  >\n    <slot>\n      <label\n        tabindex=\"0\"\n        :title=\"fieldNames[modelValue]\"\n        class=\"cursor-pointer\"\n      >\n        <component\n          :is=\"fieldIcons[modelValue]\"\n          :width=\"buttonWidth\"\n          :class=\"buttonClasses\"\n          :stroke-width=\"1.6\"\n        />\n      </label>\n    </slot>\n    <ul\n      v-if=\"editable && renderDropdown\"\n      tabindex=\"0\"\n      class=\"dropdown-content menu menu-xs p-2 shadow rounded-box w-52 z-10 mb-3\"\n      :style=\"menuStyle\"\n      :class=\"menuClasses\"\n      @click=\"closeDropdown\"\n    >\n      <template\n        v-for=\"(icon, type) in fieldIconsSorted\"\n        :key=\"type\"\n      >\n        <li v-if=\"(fieldTypes.length === 0 || fieldTypes.includes(type)) && (withPhone || type != 'phone') && (withPayment || type != 'payment')\">\n          <a\n            href=\"#\"\n            class=\"text-sm py-1 px-2\"\n            :class=\"{ 'active': type === modelValue }\"\n            @click.prevent=\"$emit('update:model-value', type)\"\n          >\n            <component\n              :is=\"icon\"\n              :stroke-width=\"1.6\"\n              :width=\"20\"\n            />\n            {{ fieldNames[type] }}\n          </a>\n        </li>\n      </template>\n    </ul>\n  </span>\n</template>\n\n<script>\nimport { IconTextSize, IconWritingSign, IconCalendarEvent, IconPhoto, IconCheckbox, IconPaperclip, IconSelect, IconCircleDot, IconChecks, IconColumns3, IconPhoneCheck, IconLetterCaseUpper, IconCreditCard, IconRubberStamp, IconSquareNumber1, IconHeading } from '@tabler/icons-vue'\n\nexport default {\n  name: 'FiledTypeDropdown',\n  inject: ['withPhone', 'withPayment', 't', 'fieldTypes'],\n  props: {\n    modelValue: {\n      type: String,\n      required: true\n    },\n    menuClasses: {\n      type: String,\n      required: false,\n      default: 'mt-1.5 bg-base-100'\n    },\n    menuStyle: {\n      type: Object,\n      required: false,\n      default: () => ({})\n    },\n    buttonClasses: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    buttonWidth: {\n      type: Number,\n      required: false,\n      default: 18\n    }\n  },\n  emits: ['update:model-value'],\n  data () {\n    return {\n      renderDropdown: false\n    }\n  },\n  computed: {\n    fieldNames () {\n      return {\n        heading: this.t('heading'),\n        text: this.t('text'),\n        signature: this.t('signature'),\n        initials: this.t('initials'),\n        date: this.t('date'),\n        number: this.t('number'),\n        image: this.t('image'),\n        file: this.t('file'),\n        select: this.t('select'),\n        checkbox: this.t('checkbox'),\n        multiple: this.t('multiple'),\n        radio: this.t('radio'),\n        cells: this.t('cells'),\n        stamp: this.t('stamp'),\n        payment: this.t('payment'),\n        phone: this.t('phone')\n      }\n    },\n    fieldIcons () {\n      return {\n        heading: IconHeading,\n        text: IconTextSize,\n        signature: IconWritingSign,\n        initials: IconLetterCaseUpper,\n        date: IconCalendarEvent,\n        number: IconSquareNumber1,\n        image: IconPhoto,\n        checkbox: IconCheckbox,\n        multiple: IconChecks,\n        file: IconPaperclip,\n        radio: IconCircleDot,\n        select: IconSelect,\n        cells: IconColumns3,\n        stamp: IconRubberStamp,\n        payment: IconCreditCard,\n        phone: IconPhoneCheck\n      }\n    },\n    fieldIconsSorted () {\n      if (this.fieldTypes.length) {\n        return this.fieldTypes.reduce((acc, type) => {\n          acc[type] = this.fieldIcons[type]\n\n          return acc\n        }, {})\n      } else {\n        return Object.fromEntries(Object.entries(this.fieldIcons).filter(([key]) => key !== 'heading'))\n      }\n    }\n  },\n  methods: {\n    closeDropdown () {\n      document.activeElement.blur()\n    }\n  }\n}\n</script>\n","import { render } from \"./field_type.vue?vue&type=template&id=18941988\"\nimport script from \"./field_type.vue?vue&type=script&lang=js\"\nexport * from \"./field_type.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <span\n    class=\"dropdown dropdown-end\"\n    :class=\"{ 'dropdown-open': ((!field.preferences?.price && !field.preferences?.formula) || !isConnected) && !isLoading }\"\n  >\n    <label\n      tabindex=\"0\"\n      :title=\"t('settings')\"\n      class=\"cursor-pointer text-transparent group-hover:text-base-content\"\n    >\n      <IconSettings\n        :width=\"18\"\n        :stroke-width=\"1.6\"\n      />\n    </label>\n    <ul\n      tabindex=\"0\"\n      class=\"mt-1.5 dropdown-content menu menu-xs p-2 shadow bg-base-100 rounded-box w-52 z-10\"\n      draggable=\"true\"\n      @dragstart.prevent.stop\n      @click=\"closeDropdown\"\n    >\n      <div\n        class=\"py-1.5 px-1 relative\"\n        @click.stop\n      >\n        <select\n          v-model=\"field.preferences.currency\"\n          :placeholder=\"t('price')\"\n          class=\"select select-bordered select-xs font-normal w-full max-w-xs !h-7 !outline-0\"\n          @change=\"save\"\n        >\n          <option\n            v-for=\"currency in currenciesList\"\n            :key=\"currency\"\n            :value=\"currency\"\n          >\n            {{ currency }}\n          </option>\n        </select>\n        <label\n          :style=\"{ backgroundColor: backgroundColor }\"\n          class=\"absolute -top-1 left-2.5 px-1 h-4\"\n          style=\"font-size: 8px\"\n        >\n          {{ t('currency') }}\n        </label>\n      </div>\n      <div\n        class=\"py-1.5 px-1 relative\"\n        @click.stop\n      >\n        <input\n          v-if=\"field.preferences.formula\"\n          type=\"number\"\n          :placeholder=\"t('price')\"\n          disabled=\"true\"\n          class=\"input input-bordered input-xs w-full max-w-xs h-7 !outline-0\"\n          @blur=\"save\"\n        >\n        <input\n          v-else\n          v-model=\"field.preferences.price\"\n          type=\"number\"\n          :placeholder=\"t('price')\"\n          class=\"input input-bordered input-xs w-full max-w-xs h-7 !outline-0\"\n          @blur=\"save\"\n        >\n        <label\n          v-if=\"field.preferences.price && !field.preferences.formula\"\n          :style=\"{ backgroundColor: backgroundColor }\"\n          class=\"absolute -top-1 left-2.5 px-1 h-4\"\n          style=\"font-size: 8px\"\n        >\n          {{ t('price') }}\n        </label>\n      </div>\n      <div\n        v-if=\"!isConnected || isOauthSuccess\"\n        class=\"py-1.5 px-1 relative\"\n        @click.stop\n      >\n        <div\n          v-if=\"isConnected && isOauthSuccess\"\n          class=\"text-sm text-center\"\n        >\n          <IconCircleCheck\n            class=\"inline text-green-600 w-4 h-4\"\n          />\n          Stripe Connected\n        </div>\n        <form\n          v-if=\"!isConnected\"\n          data-turbo=\"false\"\n          action=\"/auth/stripe_connect\"\n          accept-charset=\"UTF-8\"\n          target=\"_blank\"\n          method=\"post\"\n        >\n          <input\n            type=\"hidden\"\n            name=\"state\"\n            :value=\"oauthState\"\n            autocomplete=\"off\"\n          >\n          <input\n            type=\"hidden\"\n            name=\"redirect_uri\"\n            :value=\"redirectUri\"\n            autocomplete=\"off\"\n          >\n          <input\n            type=\"hidden\"\n            name=\"scope\"\n            value=\"read_write\"\n            autocomplete=\"off\"\n          >\n          <input\n            type=\"hidden\"\n            name=\"authenticity_token\"\n            :value=\"authenticityToken\"\n            autocomplete=\"off\"\n          >\n          <button\n            type=\"submit\"\n            :disabled=\"isLoading\"\n            class=\"btn bg-[#7B73FF] hover:bg-[#0A2540] btn-sm text-white w-full\"\n          >\n            <span\n              v-if=\"isLoading\"\n              class=\"flex items-center space-x-1\"\n            >\n              <IconInnerShadowTop\n                class=\"w-4 h-4 animate-spin inline\"\n              />\n              <span>\n                Connect Stripe\n              </span>\n            </span>\n            <span\n              v-else\n              class=\"flex items-center space-x-1\"\n            >\n              <IconBrandStripe\n                class=\"w-4 h-4 inline\"\n              />\n              <span>\n                Connect Stripe\n              </span>\n            </span>\n          </button>\n        </form>\n        <a\n          v-if=\"!isConnected\"\n          class=\"block link text-center mt-1\"\n          href=\"https://www.docuseal.co/blog/accept-payments-and-request-signatures-with-ease\"\n          target=\"_blank\"\n          data-turbo=\"false\"\n        >{{ t('learn_more') }}</a>\n      </div>\n      <li class=\"mb-1\">\n        <label\n          class=\"label-text cursor-pointer text-center w-full flex items-center\"\n          @click=\"$emit('click-formula')\"\n        >\n          <IconMathFunction\n            width=\"18\"\n          />\n          <span class=\"text-sm\">\n            {{ t('formula') }}\n          </span>\n        </label>\n      </li>\n      <hr>\n      <li>\n        <label\n          class=\"label-text cursor-pointer text-center w-full flex items-center\"\n          @click=\"$emit('click-description')\"\n        >\n          <IconInfoCircle\n            width=\"18\"\n          />\n          <span class=\"text-sm\">\n            {{ t('description') }}\n          </span>\n        </label>\n      </li>\n      <li class=\"mt-1\">\n        <label\n          class=\"label-text cursor-pointer text-center w-full flex items-center\"\n          @click=\"$emit('click-condition')\"\n        >\n          <IconRouteAltLeft\n            width=\"18\"\n          />\n          <span class=\"text-sm\">\n            {{ t('condition') }}\n          </span>\n        </label>\n      </li>\n    </ul>\n  </span>\n</template>\n\n<script>\nimport { IconMathFunction, IconSettings, IconCircleCheck, IconInfoCircle, IconBrandStripe, IconInnerShadowTop, IconRouteAltLeft } from '@tabler/icons-vue'\nimport { ref } from 'vue'\n\nconst isConnected = ref(false)\n\nexport default {\n  name: 'PaymentSettings',\n  components: {\n    IconSettings,\n    IconCircleCheck,\n    IconRouteAltLeft,\n    IconInfoCircle,\n    IconMathFunction,\n    IconInnerShadowTop,\n    IconBrandStripe\n  },\n  inject: ['backgroundColor', 'save', 'currencies', 't', 'isPaymentConnected'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    }\n  },\n  emits: ['click-condition', 'click-description', 'click-formula'],\n  data () {\n    return {\n      isLoading: false\n    }\n  },\n  computed: {\n    isConnected: () => isConnected.value,\n    isOauthSuccess () {\n      return document.location.search?.includes('stripe_connect_success')\n    },\n    redirectUri () {\n      return document.location.origin + '/auth/stripe_connect/callback'\n    },\n    defaultCurrencies () {\n      return ['USD', 'EUR', 'GBP', 'CAD', 'AUD']\n    },\n    currenciesList () {\n      return this.currencies.length ? this.currencies : this.defaultCurrencies\n    },\n    authenticityToken () {\n      return document.querySelector('meta[name=\"csrf-token\"]')?.content\n    },\n    oauthState () {\n      const params = new URLSearchParams('')\n\n      params.set('redir', document.location.href)\n\n      return params.toString()\n    },\n    defaultCurrency () {\n      const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n      if (userTimezone.startsWith('Europe')) {\n        return 'EUR'\n      } else if (userTimezone.includes('London') || userTimezone.includes('Belfast')) {\n        return 'GBP'\n      } else if (userTimezone.includes('Vancouver') || userTimezone.includes('Toronto') || userTimezone.includes('Halifax') || userTimezone.includes('Edmonton')) {\n        return 'CAD'\n      } else if (userTimezone.startsWith('Australia')) {\n        return 'AUD'\n      } else {\n        return 'USD'\n      }\n    }\n  },\n  created () {\n    this.field.preferences ||= {}\n  },\n  mounted () {\n    this.field.preferences.currency ||= this.defaultCurrency\n\n    isConnected.value ||= this.isPaymentConnected\n\n    if (!this.isConnected) {\n      this.checkStatus()\n    }\n  },\n  methods: {\n    checkStatus () {\n      this.isLoading = true\n\n      fetch('/api/stripe_connect').then(async (resp) => {\n        const { status } = await resp.json()\n\n        if (status === 'connected') {\n          isConnected.value = true\n        }\n      }).finally(() => {\n        this.isLoading = false\n      })\n    },\n    closeDropdown () {\n      document.activeElement.blur()\n    }\n  }\n}\n</script>\n","import { render } from \"./payment_settings.vue?vue&type=template&id=0a3ab6b8\"\nimport script from \"./payment_settings.vue?vue&type=script&lang=js\"\nexport * from \"./payment_settings.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    v-if=\"field.type === 'number'\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      :placeholder=\"t('format')\"\n      class=\"select select-bordered select-xs font-normal w-full max-w-xs !h-7 !outline-0 bg-transparent\"\n      @change=\"[field.preferences ||= {}, field.preferences.format = $event.target.value, save()]\"\n    >\n      <option\n        v-for=\"format in numberFormats\"\n        :key=\"format\"\n        :value=\"format\"\n        :selected=\"format === field.preferences?.format || (format === 'none' && !field.preferences?.format)\"\n      >\n        {{ formatNumber(123456789.567, format) }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('format') }}\n    </label>\n  </div>\n  <div\n    v-if=\"['number'].includes(field.type)\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      class=\"select select-bordered select-xs w-full max-w-xs h-7 !outline-0 font-normal bg-transparent\"\n      @change=\"[field.preferences ||= {}, field.preferences.align = $event.target.value, save()]\"\n    >\n      <option\n        v-for=\"value in ['left', 'right', 'center']\"\n        :key=\"value\"\n        :selected=\"field.preferences?.align ? value === field.preferences.align : value === 'left'\"\n        :value=\"value\"\n      >\n        {{ t(value) }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('align') }}\n    </label>\n  </div>\n  <div\n    v-if=\"['select', 'radio'].includes(field.type) && !defaultField\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      :placeholder=\"t('default_value')\"\n      dir=\"auto\"\n      class=\"select select-bordered select-xs w-full max-w-xs h-7 !outline-0 font-normal bg-transparent\"\n      @change=\"[field.default_value = $event.target.value, !field.default_value && delete field.default_value, save()]\"\n    >\n      <option\n        value=\"\"\n        :selected=\"!field.default_value\"\n      >\n        {{ t('none') }}\n      </option>\n      <option\n        v-for=\"(option, index) in field.options || []\"\n        :key=\"option.uuid\"\n        :value=\"option.value || `${t('option')} ${index + 1}`\"\n        :selected=\"field.default_value === (option.value || `${t('option')} ${index + 1}`)\"\n      >\n        {{ option.value || `${t('option')} ${index + 1}` }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('default_value') }}\n    </label>\n  </div>\n  <div\n    v-if=\"['text', 'number'].includes(field.type) && !defaultField\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <input\n      v-model=\"field.default_value\"\n      :placeholder=\"t('default_value')\"\n      dir=\"auto\"\n      :type=\"field.type\"\n      class=\"input input-bordered input-xs w-full max-w-xs h-7 !outline-0 bg-transparent\"\n      @blur=\"save\"\n    >\n    <label\n      v-if=\"field.default_value\"\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('default_value') }}\n    </label>\n  </div>\n  <div\n    v-if=\"['text', 'cells'].includes(field.type)\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      class=\"select select-bordered select-xs w-full max-w-xs h-7 !outline-0 font-normal bg-transparent\"\n      @change=\"onChangeValidation\"\n    >\n      <option\n        :selected=\"!field.validation\"\n        value=\"\"\n      >\n        {{ t('none') }}\n      </option>\n      <option\n        v-for=\"(key, value) in validations\"\n        :key=\"key\"\n        :selected=\"field.validation?.pattern ? value === field.validation.pattern : value === 'none'\"\n        :value=\"value\"\n      >\n        {{ t(key) }}\n      </option>\n      <option\n        :selected=\"field.validation && !validations[field.validation.pattern]\"\n        :value=\"validations[field.validation?.pattern] || !field.validation?.pattern ? 'custom' : field.validation?.pattern\"\n      >\n        {{ t('custom') }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('validation') }}\n    </label>\n  </div>\n  <div\n    v-if=\"['text', 'cells'].includes(field.type) && field.validation && !validations[field.validation.pattern]\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <input\n      ref=\"validationCustom\"\n      v-model=\"field.validation.pattern\"\n      :placeholder=\"t('regexp_validation')\"\n      dir=\"auto\"\n      class=\"input input-bordered input-xs w-full max-w-xs h-7 !outline-0 bg-transparent\"\n      @blur=\"save\"\n    >\n    <label\n      v-if=\"field.validation.pattern\"\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('regexp_validation') }}\n    </label>\n  </div>\n  <div\n    v-if=\"field.type === 'date'\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      v-model=\"field.preferences.format\"\n      :placeholder=\"t('format')\"\n      class=\"select select-bordered select-xs font-normal w-full max-w-xs !h-7 !outline-0 bg-transparent\"\n      @change=\"save\"\n    >\n      <option\n        v-for=\"format in dateFormats\"\n        :key=\"format\"\n        :value=\"format\"\n      >\n        {{ formatDate(new Date(), format) }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('format') }}\n    </label>\n  </div>\n  <div\n    v-if=\"field.type === 'signature'\"\n    class=\"py-1.5 px-1 relative\"\n    @click.stop\n  >\n    <select\n      :placeholder=\"t('format')\"\n      class=\"select select-bordered select-xs font-normal w-full max-w-xs !h-7 !outline-0 bg-transparent\"\n      @change=\"[field.preferences.format = $event.target.value, save()]\"\n    >\n      <option\n        value=\"any\"\n        :selected=\"!field.preferences?.format || field.preferences.format === 'any'\"\n      >\n        {{ t('any') }}\n      </option>\n      <option\n        value=\"drawn\"\n        :selected=\"field.preferences?.format === 'drawn'\"\n      >\n        {{ t('drawn') }}\n      </option>\n      <option\n        value=\"typed\"\n        :selected=\"field.preferences?.format === 'typed'\"\n      >\n        {{ t('typed') }}\n      </option>\n    </select>\n    <label\n      :style=\"{ backgroundColor }\"\n      class=\"absolute -top-1 left-2.5 px-1 h-4\"\n      style=\"font-size: 8px\"\n    >\n      {{ t('format') }}\n    </label>\n  </div>\n  <li\n    v-if=\"withRequired && field.type != 'phone' && field.type != 'stamp'\"\n    @click.stop\n  >\n    <label class=\"cursor-pointer py-1.5\">\n      <input\n        v-model=\"field.required\"\n        type=\"checkbox\"\n        :disabled=\"!editable || defaultField\"\n        class=\"toggle toggle-xs\"\n        @update:model-value=\"save\"\n      >\n      <span class=\"label-text\">{{ t('required') }}</span>\n    </label>\n  </li>\n  <li\n    v-if=\"field.type == 'stamp'\"\n    @click.stop\n  >\n    <label class=\"cursor-pointer py-1.5\">\n      <input\n        :checked=\"field.preferences?.with_logo != false\"\n        type=\"checkbox\"\n        class=\"toggle toggle-xs\"\n        @change=\"[field.preferences ||= {}, field.preferences.with_logo = field.preferences.with_logo == false, save()]\"\n      >\n      <span class=\"label-text\">{{ t('with_logo') }}</span>\n    </label>\n  </li>\n  <li\n    v-if=\"field.type == 'checkbox'\"\n    @click.stop\n  >\n    <label class=\"cursor-pointer py-1.5\">\n      <input\n        v-model=\"field.default_value\"\n        type=\"checkbox\"\n        class=\"toggle toggle-xs\"\n        @update:model-value=\"[field.default_value = $event, field.readonly = $event, save()]\"\n      >\n      <span class=\"label-text\">{{ t('checked') }}</span>\n    </label>\n  </li>\n  <li\n    v-if=\"field.type == 'date'\"\n    @click.stop\n  >\n    <label class=\"cursor-pointer py-1.5\">\n      <input\n        v-model=\"field.readonly\"\n        type=\"checkbox\"\n        class=\"toggle toggle-xs\"\n        @update:model-value=\"[field.default_value = $event ? '{{date}}' : null, field.readonly = $event, save()]\"\n      >\n      <span class=\"label-text\">{{ t('set_signing_date') }}</span>\n    </label>\n  </li>\n  <li\n    v-if=\"['text', 'number'].includes(field.type) && !defaultField\"\n    @click.stop\n  >\n    <label class=\"cursor-pointer py-1.5\">\n      <input\n        v-model=\"field.readonly\"\n        type=\"checkbox\"\n        class=\"toggle toggle-xs\"\n        @update:model-value=\"save\"\n      >\n      <span class=\"label-text\">{{ t('read_only') }}</span>\n    </label>\n  </li>\n  <hr\n    v-if=\"field.type != 'stamp'\"\n    class=\"pb-0.5 mt-0.5\"\n  >\n  <li\n    v-if=\"field.type != 'stamp'\"\n  >\n    <label\n      class=\"label-text cursor-pointer text-center w-full flex items-center\"\n      @click=\"$emit('click-description')\"\n    >\n      <IconInfoCircle\n        width=\"18\"\n      />\n      <span class=\"text-sm\">\n        {{ t('description') }}\n      </span>\n    </label>\n  </li>\n  <li\n    v-if=\"field.type != 'stamp'\"\n  >\n    <label\n      class=\"label-text cursor-pointer text-center w-full flex items-center\"\n      @click=\"$emit('click-condition')\"\n    >\n      <IconRouteAltLeft\n        width=\"18\"\n      />\n      <span class=\"text-sm\">\n        {{ t('condition') }}\n      </span>\n    </label>\n  </li>\n  <li v-if=\"field.type == 'number'\">\n    <label\n      class=\"label-text cursor-pointer text-center w-full flex items-center\"\n      @click=\"$emit('click-formula')\"\n    >\n      <IconMathFunction\n        width=\"18\"\n      />\n      <span class=\"text-sm\">\n        {{ t('formula') }}\n      </span>\n    </label>\n  </li>\n  <hr class=\"pb-0.5 mt-0.5\">\n  <template v-if=\"withAreas\">\n    <li\n      v-for=\"(area, index) in sortedAreas\"\n      :key=\"index\"\n    >\n      <a\n        href=\"#\"\n        class=\"text-sm py-1 px-2 group/1\"\n        @click.prevent=\"$emit('scroll-to', area)\"\n      >\n        <IconShape\n          :width=\"20\"\n          :stroke-width=\"1.6\"\n        />\n        {{ t('page') }}\n        <template v-if=\"template.schema.length > 1\">{{ template.schema.findIndex((item) => item.attachment_uuid === area.attachment_uuid) + 1 }}-</template>{{ area.page + 1 }}\n        <IconX\n          :width=\"12\"\n          class=\"group-hover/1:inline hidden\"\n          @click.prevent.stop=\"[$emit('remove-area', area), $event.target.closest('.dropdown').querySelector('label').focus()]\"\n        />\n      </a>\n    </li>\n    <li v-if=\"!field.areas?.length || !['radio', 'multiple'].includes(field.type)\">\n      <a\n        href=\"#\"\n        class=\"text-sm py-1 px-2\"\n        @click.prevent=\"$emit('set-draw', { field })\"\n      >\n        <IconNewSection\n          :width=\"20\"\n          :stroke-width=\"1.6\"\n        />\n        {{ t('draw_new_area') }}\n      </a>\n    </li>\n  </template>\n  <li v-if=\"field.areas?.length === 1 && ['date', 'signature', 'initials', 'text', 'cells'].includes(field.type)\">\n    <a\n      href=\"#\"\n      class=\"text-sm py-1 px-2\"\n      @click.prevent=\"copyToAllPages(field)\"\n    >\n      <IconCopy\n        :width=\"20\"\n        :stroke-width=\"1.6\"\n      />\n      {{ t('copy_to_all_pages') }}\n    </a>\n  </li>\n</template>\n\n<script>\nimport { IconRouteAltLeft, IconShape, IconX, IconMathFunction, IconNewSection, IconInfoCircle, IconCopy } from '@tabler/icons-vue'\n\nexport default {\n  name: 'FieldSettings',\n  components: {\n    IconShape,\n    IconInfoCircle,\n    IconMathFunction,\n    IconRouteAltLeft,\n    IconCopy,\n    IconNewSection,\n    IconX\n  },\n  inject: ['template', 'save', 't'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    },\n    backgroundColor: {\n      type: String,\n      required: false,\n      default: null\n    },\n    defaultField: {\n      type: Object,\n      required: false,\n      default: null\n    },\n    withRequired: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    withAreas: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    }\n  },\n  emits: ['set-draw', 'scroll-to', 'click-formula', 'click-description', 'click-condition', 'remove-area'],\n  data () {\n    return {\n    }\n  },\n  computed: {\n    schemaAttachmentsIndexes () {\n      return (this.template.schema || []).reduce((acc, item, index) => {\n        acc[item.attachment_uuid] = index\n\n        return acc\n      }, {})\n    },\n    numberFormats () {\n      return [\n        'none',\n        'comma',\n        'dot',\n        'space'\n      ]\n    },\n    dateFormats () {\n      const formats = [\n        'MM/DD/YYYY',\n        'DD/MM/YYYY',\n        'YYYY-MM-DD',\n        'DD-MM-YYYY',\n        'DD.MM.YYYY',\n        'MMM D, YYYY',\n        'MMMM D, YYYY',\n        'D MMM YYYY',\n        'D MMMM YYYY'\n      ]\n\n      if (Intl.DateTimeFormat().resolvedOptions().timeZone?.includes('Seoul') || navigator.language?.startsWith('ko')) {\n        formats.push('YYYY년 MM월 DD일')\n      }\n\n      if (this.field.preferences?.format && !formats.includes(this.field.preferences.format)) {\n        formats.unshift(this.field.preferences.format)\n      }\n\n      return formats\n    },\n    validations () {\n      return {\n        '^[0-9]{3}-[0-9]{2}-[0-9]{4}$': 'ssn',\n        '^[0-9]{2}-[0-9]{7}$': 'ein',\n        '^[^@\\\\s]+@[^@\\\\s]+\\\\.[^@\\\\s]+$': 'email',\n        '^https?://.*': 'url',\n        '^[0-9]{5}(?:-[0-9]{4})?$': 'zip',\n        '^[0-9]+$': 'numbers_only',\n        '^[a-zA-Z]+$': 'letters_only'\n      }\n    },\n    sortedAreas () {\n      return (this.field.areas || []).sort((a, b) => {\n        return this.schemaAttachmentsIndexes[a.attachment_uuid] - this.schemaAttachmentsIndexes[b.attachment_uuid]\n      })\n    }\n  },\n  methods: {\n    onChangeValidation (event) {\n      if (event.target.value === 'custom') {\n        this.field.validation = { pattern: '' }\n\n        this.$nextTick(() => this.$refs.validationCustom.focus())\n      } else if (event.target.value) {\n        this.field.validation ||= {}\n        this.field.validation.pattern = event.target.value\n      } else {\n        delete this.field.validation\n      }\n\n      this.save()\n    },\n    copyToAllPages (field) {\n      const areaString = JSON.stringify(field.areas[0])\n\n      this.template.documents.forEach((attachment) => {\n        const numberOfPages = attachment.metadata?.pdf?.number_of_pages || attachment.preview_images.length\n\n        for (let page = 0; page <= numberOfPages - 1; page++) {\n          if (!field.areas.find((area) => area.attachment_uuid === attachment.uuid && area.page === page)) {\n            field.areas.push({ ...JSON.parse(areaString), attachment_uuid: attachment.uuid, page })\n          }\n        }\n      })\n\n      this.$emit('scroll-to', this.field.areas[this.field.areas.length - 1])\n\n      this.save()\n    },\n    formatNumber (number, format) {\n      if (format === 'comma') {\n        return new Intl.NumberFormat('en-US').format(number)\n      } else if (format === 'dot') {\n        return new Intl.NumberFormat('de-DE').format(number)\n      } else if (format === 'space') {\n        return new Intl.NumberFormat('fr-FR').format(number)\n      } else {\n        return number\n      }\n    },\n    formatDate (date, format) {\n      const monthFormats = {\n        M: 'numeric',\n        MM: '2-digit',\n        MMM: 'short',\n        MMMM: 'long'\n      }\n\n      const dayFormats = {\n        D: 'numeric',\n        DD: '2-digit'\n      }\n\n      const yearFormats = {\n        YYYY: 'numeric',\n        YY: '2-digit'\n      }\n\n      const parts = new Intl.DateTimeFormat([], {\n        day: dayFormats[format.match(/D+/)],\n        month: monthFormats[format.match(/M+/)],\n        year: yearFormats[format.match(/Y+/)]\n      }).formatToParts(date)\n\n      return format\n        .replace(/D+/, parts.find((p) => p.type === 'day').value)\n        .replace(/M+/, parts.find((p) => p.type === 'month').value)\n        .replace(/Y+/, parts.find((p) => p.type === 'year').value)\n    }\n  }\n}\n</script>\n","import { render } from \"./field_settings.vue?vue&type=template&id=7bacfc40\"\nimport script from \"./field_settings.vue?vue&type=script&lang=js\"\nexport * from \"./field_settings.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    class=\"modal modal-open items-start !animate-none overflow-y-auto\"\n  >\n    <div\n      class=\"absolute top-0 bottom-0 right-0 left-0\"\n      @click.prevent=\"$emit('close')\"\n    />\n    <div class=\"modal-box pt-4 pb-6 px-6 mt-20 max-h-none w-full max-w-xl\">\n      <div class=\"flex justify-between items-center border-b pb-2 mb-2 font-medium\">\n        <span>\n          {{ t('formula') }} - {{ field.name || buildDefaultName(field, template.fields) }}\n        </span>\n        <a\n          href=\"#\"\n          class=\"text-xl\"\n          @click.prevent=\"$emit('close')\"\n        >&times;</a>\n      </div>\n      <div>\n        <div\n          v-if=\"!withFormula\"\n          class=\"bg-base-300 rounded-xl py-2 px-3 text-center\"\n        >\n          <a\n            href=\"https://www.docuseal.co/pricing\"\n            target=\"_blank\"\n            class=\"link\"\n          >{{ t('available_in_pro') }}</a>\n        </div>\n        <div class=\"flex-inline mb-2 gap-2 space-y-1\">\n          <button\n            v-for=\"f in fields\"\n            :key=\"f.uuid\"\n            class=\"mr-1 btn btn-neutral btn-outline border-base-content/20 btn-sm normal-case font-normal bg-white !rounded-xl\"\n            @click.prevent=\"insertTextUnderCursor(`{{${f.name || buildDefaultName(f, template.fields)}}}`)\"\n          >\n            <IconCodePlus\n              width=\"20\"\n              height=\"20\"\n              stroke-width=\"1.5\"\n            />\n            {{ f.name || buildDefaultName(f, template.fields) }}\n          </button>\n        </div>\n        <div>\n          <div class=\"flex\">\n            <textarea\n              ref=\"textarea\"\n              v-model=\"formula\"\n              class=\"base-textarea !rounded-xl !text-base font-mono w-full !outline-0 !ring-0 !px-3\"\n              :readonly=\"!editable\"\n              required=\"true\"\n              @input=\"resizeTextarea\"\n            />\n          </div>\n          <div class=\"mb-3 mt-1\">\n            <div\n              target=\"blank\"\n              class=\"text-sm mb-2 inline space-x-2\"\n            >\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor(' + ')\"\n              >\n                +\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor(' - ')\"\n              >\n                -\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor(' * ')\"\n              >\n                *\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor(' / ')\"\n              >\n                /\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor(' % ')\"\n              >\n                %\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor('^')\"\n              >\n                ^\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor('round()')\"\n              >\n                round(n, d)\n              </button>\n              <button\n                class=\"bg-base-200 px-2 rounded-xl\"\n                @click=\"insertTextUnderCursor('abs()')\"\n              >\n                abs(n)\n              </button>\n            </div>\n          </div>\n        </div>\n        <button\n          class=\"base-button w-full\"\n          @click.prevent=\"validateSaveAndClose\"\n        >\n          {{ t('save') }}\n        </button>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { IconCodePlus } from '@tabler/icons-vue'\n\nexport default {\n  name: 'FormulaModal',\n  components: {\n    IconCodePlus\n  },\n  inject: ['t', 'save', 'template', 'withFormula'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    buildDefaultName: {\n      type: Function,\n      required: true\n    }\n  },\n  emits: ['close'],\n  data () {\n    return {\n      formula: ''\n    }\n  },\n  computed: {\n    fields () {\n      return this.template.fields.reduce((acc, f) => {\n        if (f !== this.field && f.submitter_uuid === this.field.submitter_uuid && ['number'].includes(f.type) && !f.preferences?.formula) {\n          acc.push(f)\n        }\n\n        return acc\n      }, [])\n    }\n  },\n  created () {\n    this.field.preferences ||= {}\n  },\n  mounted () {\n    this.formula = this.humanizeFormula(this.field.preferences.formula || '')\n  },\n  methods: {\n    humanizeFormula (text) {\n      return text.replace(/{{(.*?)}}/g, (match, uuid) => {\n        const foundField = this.fields.find((f) => f.uuid === uuid)\n\n        if (foundField) {\n          return `{{${foundField.name || this.buildDefaultName(foundField, this.template.fields)}}}`\n        } else {\n          return '{{FIELD NOT FOUND}}'\n        }\n      })\n    },\n    normalizeFormula (text) {\n      return text.replace(/{{(.*?)}}/g, (match, name) => {\n        const foundField = this.fields.find((f) => {\n          return (f.name || this.buildDefaultName(f, this.template.fields)).trim() === name.trim()\n        })\n\n        if (foundField) {\n          return `{{${foundField.uuid}}}`\n        } else {\n          return '{{FIELD NOT FOUND}}'\n        }\n      })\n    },\n    validateSaveAndClose () {\n      if (!this.withFormula) {\n        return alert(this.t('available_only_in_pro'))\n      }\n\n      const normalizedFormula = this.normalizeFormula(this.formula)\n\n      if (normalizedFormula.includes('FIELD NOT FOUND')) {\n        alert(this.t('some_fields_are_missing_in_the_formula'))\n      } else {\n        this.field.preferences.formula = normalizedFormula\n\n        if (this.field.type !== 'payment') {\n          this.field.readonly = !!normalizedFormula\n        }\n\n        this.save()\n\n        this.$emit('close')\n      }\n    },\n    insertTextUnderCursor (textToInsert) {\n      const textarea = this.$refs.textarea\n\n      const selectionEnd = textarea.selectionEnd\n      const cursorPos = selectionEnd\n\n      const newText = textarea.value.substring(0, cursorPos) + textToInsert + textarea.value.substring(cursorPos)\n\n      this.formula = newText\n\n      textarea.setSelectionRange(cursorPos + textToInsert.length, cursorPos + textToInsert.length)\n\n      textarea.focus()\n    },\n    resizeTextarea () {\n      const textarea = this.$refs.textarea\n\n      textarea.style.height = 'auto'\n      textarea.style.height = textarea.scrollHeight + 'px'\n    }\n  }\n}\n</script>\n","import { render } from \"./formula_modal.vue?vue&type=template&id=0a0d4cb6\"\nimport script from \"./formula_modal.vue?vue&type=script&lang=js\"\nexport * from \"./formula_modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    class=\"modal modal-open items-start !animate-none overflow-y-auto\"\n  >\n    <div\n      class=\"absolute top-0 bottom-0 right-0 left-0\"\n      @click.prevent=\"$emit('close')\"\n    />\n    <div class=\"modal-box pt-4 pb-6 px-6 mt-20 max-h-none w-full max-w-xl\">\n      <div class=\"flex justify-between items-center border-b pb-2 mb-2 font-medium\">\n        <span>\n          {{ t('condition') }} - {{ field.name || buildDefaultName(field, template.fields) }}\n        </span>\n        <a\n          href=\"#\"\n          class=\"text-xl\"\n          @click.prevent=\"$emit('close')\"\n        >&times;</a>\n      </div>\n      <div>\n        <div\n          v-if=\"!withConditions\"\n          class=\"bg-base-300 rounded-xl py-2 px-3 text-center\"\n        >\n          <a\n            href=\"https://www.docuseal.co/pricing\"\n            target=\"_blank\"\n            class=\"link\"\n          >{{ t('available_in_pro') }}</a>\n        </div>\n        <form @submit.prevent=\"validateSaveAndClose\">\n          <div class=\"my-4 space-y-5\">\n            <div\n              v-for=\"(condition, cindex) in conditions\"\n              :key=\"cindex\"\n              class=\"space-y-4 relative\"\n            >\n              <div\n                v-if=\"conditions.length > 1\"\n                class=\"flex justify-between border-b mx-1 -mb-1 pb-1\"\n              >\n                <span class=\"text-sm\">\n                  {{ t('condition') }} {{ cindex + 1 }}\n                </span>\n                <a\n                  href=\"#\"\n                  class=\"link text-sm\"\n                  @click.prevent=\"conditions.splice(cindex, 1)\"\n                > {{ t('remove') }}</a>\n              </div>\n              <select\n                class=\"select select-bordered select-sm w-full bg-white h-11 pl-4 text-base font-normal\"\n                required\n                @change=\"[\n                  condition.field_uuid = $event.target.value,\n                  delete condition.value,\n                  (conditionActions(condition).includes(condition.action) ? '' : condition.action = conditionActions(condition)[0])\n                ]\"\n              >\n                <option\n                  value=\"\"\n                  disabled\n                  :selected=\"!condition.field_uuid\"\n                >\n                  {{ t('select_field_') }}\n                </option>\n                <option\n                  v-for=\"f in fields\"\n                  :key=\"f.uuid\"\n                  :value=\"f.uuid\"\n                  :selected=\"condition.field_uuid === f.uuid\"\n                >\n                  {{ f.name || buildDefaultName(f, template.fields) }}\n                </option>\n              </select>\n              <select\n                v-model=\"condition.action\"\n                class=\"select select-bordered select-sm w-full h-11 pl-4 text-base font-normal\"\n                :class=\"{ 'bg-white': condition.field_uuid, 'bg-base-300': !condition.field_uuid }\"\n                :required=\"condition.field_uuid\"\n              >\n                <option\n                  v-for=\"action in conditionActions(condition)\"\n                  :key=\"action\"\n                  :value=\"action\"\n                >\n                  {{ t(action) }}\n                </option>\n              </select>\n              <select\n                v-if=\"conditionField(condition)?.options?.length\"\n                class=\"select select-bordered select-sm w-full bg-white h-11 pl-4 text-base font-normal\"\n                required\n                @change=\"condition.value = $event.target.value\"\n              >\n                <option\n                  value=\"\"\n                  disabled\n                  selected\n                >\n                  {{ t('select_value_') }}\n                </option>\n                <option\n                  v-for=\"(option, index) in conditionField(condition).options\"\n                  :key=\"option.uuid\"\n                  :value=\"option.uuid\"\n                  :selected=\"condition.value === option.uuid\"\n                >\n                  {{ option.value || `${t('option')} ${index + 1}` }}\n                </option>\n              </select>\n            </div>\n          </div>\n          <a\n            href=\"#\"\n            class=\"inline float-right link text-right mb-3 px-2\"\n            @click.prevent=\"conditions.push({})\"\n          > + {{ t('add_condition') }}</a>\n          <button\n            class=\"base-button w-full mt-2\"\n          >\n            {{ t('save') }}\n          </button>\n        </form>\n        <div\n          v-if=\"field.conditions?.[0]?.field_uuid\"\n          class=\"text-center w-full mt-4\"\n        >\n          <button\n            class=\"link\"\n            @click=\"[conditions = [], delete field.conditions, validateSaveAndClose()]\"\n          >\n            {{ t('remove_condition') }}\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'ConditionModal',\n  inject: ['t', 'save', 'template', 'withConditions'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    },\n    buildDefaultName: {\n      type: Function,\n      required: true\n    }\n  },\n  emits: ['close'],\n  data () {\n    return {\n      conditions: this.field.conditions?.[0] ? JSON.parse(JSON.stringify(this.field.conditions)) : [{}]\n    }\n  },\n  computed: {\n    fields () {\n      return this.template.fields.reduce((acc, f) => {\n        if (f !== this.field && f.submitter_uuid === this.field.submitter_uuid) {\n          acc.push(f)\n        }\n\n        return acc\n      }, [])\n    }\n  },\n  created () {\n    this.field.conditions ||= []\n  },\n  methods: {\n    conditionField (condition) {\n      return this.fields.find((f) => f.uuid === condition.field_uuid)\n    },\n    conditionActions (condition) {\n      return this.fieldActions(this.conditionField(condition))\n    },\n    fieldActions (field) {\n      const actions = []\n\n      if (!field) {\n        return actions\n      }\n\n      if (field.type === 'checkbox') {\n        actions.push('checked', 'unchecked')\n      } else if (['radio', 'select'].includes(field.type)) {\n        actions.push('equal', 'not_equal')\n      } else if (['multiple'].includes(field.type)) {\n        actions.push('contains', 'does_not_contain')\n      } else {\n        actions.push('not_empty', 'empty')\n      }\n\n      return actions\n    },\n    validateSaveAndClose () {\n      if (!this.withConditions) {\n        return alert(this.t('available_only_in_pro'))\n      }\n\n      if (this.conditions.find((f) => f.field_uuid)) {\n        this.field.conditions = this.conditions\n      } else {\n        delete this.field.conditions\n      }\n\n      this.save()\n      this.$emit('close')\n    }\n  }\n}\n</script>\n","import { render } from \"./conditions_modal.vue?vue&type=template&id=773d7271\"\nimport script from \"./conditions_modal.vue?vue&type=script&lang=js\"\nexport * from \"./conditions_modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    class=\"modal modal-open items-start !animate-none overflow-y-auto\"\n  >\n    <div\n      class=\"absolute top-0 bottom-0 right-0 left-0\"\n      @click.prevent=\"$emit('close')\"\n    />\n    <div class=\"modal-box pt-4 pb-6 px-6 mt-20 max-h-none w-full max-w-xl\">\n      <div class=\"flex justify-between items-center border-b pb-2 mb-2 font-medium\">\n        <span>\n          {{ field.name || buildDefaultName(field, template.fields) }}\n        </span>\n        <a\n          href=\"#\"\n          class=\"text-xl\"\n          @click.prevent=\"$emit('close')\"\n        >&times;</a>\n      </div>\n      <div>\n        <form @submit.prevent=\"saveAndClose\">\n          <div class=\"space-y-1 mb-1\">\n            <div>\n              <label\n                dir=\"auto\"\n                class=\"label text-sm\"\n                for=\"description_field\"\n              >\n                {{ t('description') }}\n              </label>\n              <textarea\n                id=\"description_field\"\n                ref=\"textarea\"\n                v-model=\"description\"\n                dir=\"auto\"\n                class=\"base-textarea !text-base w-full\"\n                :readonly=\"!editable\"\n                @input=\"resizeTextarea\"\n              />\n            </div>\n            <div>\n              <label\n                dir=\"auto\"\n                class=\"label text-sm\"\n                for=\"title_field\"\n              >\n                {{ t('display_title') }} ({{ t('optional') }})\n              </label>\n              <input\n                id=\"title_field\"\n                v-model=\"title\"\n                dir=\"auto\"\n                :readonly=\"!editable\"\n                class=\"base-input !text-base w-full\"\n              >\n            </div>\n          </div>\n          <button\n            class=\"base-button w-full mt-4\"\n          >\n            {{ t('save') }}\n          </button>\n        </form>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'DescriptionModal',\n  inject: ['t', 'save', 'template'],\n  props: {\n    field: {\n      type: Object,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    buildDefaultName: {\n      type: Function,\n      required: true\n    }\n  },\n  emits: ['close'],\n  data () {\n    return {\n      description: this.field.description,\n      title: this.field.title\n    }\n  },\n  mounted () {\n    this.resizeTextarea()\n  },\n  methods: {\n    saveAndClose () {\n      this.field.description = this.description\n      this.field.title = this.title\n\n      this.save()\n      this.$emit('close')\n    },\n    resizeTextarea () {\n      const textarea = this.$refs.textarea\n\n      textarea.style.height = 'auto'\n      textarea.style.height = textarea.scrollHeight + 'px'\n    }\n  }\n}\n</script>\n","import { render } from \"./description_modal.vue?vue&type=template&id=0a8bf786\"\nimport script from \"./description_modal.vue?vue&type=script&lang=js\"\nexport * from \"./description_modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./field.vue?vue&type=template&id=2adceb30\"\nimport script from \"./field.vue?vue&type=script&lang=js\"\nexport * from \"./field.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    v-if=\"mobileView\"\n    @mouseenter=\"renderDropdown = true\"\n    @touchstart=\"renderDropdown = true\"\n  >\n    <div class=\"flex space-x-2 items-end\">\n      <div class=\"group/contenteditable-container bg-base-100 rounded-md p-2 border border-base-300 w-full flex justify-between items-end\">\n        <div class=\"flex items-center space-x-2\">\n          <span\n            class=\"w-3 h-3 flex-shrink-0 rounded-full\"\n            :class=\"colors[submitters.indexOf(selectedSubmitter)]\"\n          />\n          <Contenteditable\n            v-model=\"selectedSubmitter.name\"\n            class=\"cursor-text\"\n            :icon-inline=\"true\"\n            :editable=\"editable\"\n            :select-on-edit-click=\"true\"\n            :icon-width=\"18\"\n            @update:model-value=\"$emit('name-change', selectedSubmitter)\"\n          />\n        </div>\n      </div>\n      <div class=\"dropdown dropdown-top dropdown-end\">\n        <label\n          tabindex=\"0\"\n          class=\"bg-base-100 cursor-pointer rounded-md p-2 border border-base-300 w-full flex justify-center\"\n        >\n          <IconChevronUp\n            width=\"24\"\n            height=\"24\"\n          />\n        </label>\n        <ul\n          v-if=\"editable && renderDropdown\"\n          tabindex=\"0\"\n          class=\"rounded-md min-w-max mb-2\"\n          :class=\"menuClasses\"\n          :style=\"menuStyle\"\n          @click=\"closeDropdown\"\n        >\n          <li\n            v-for=\"(submitter, index) in submitters\"\n            :key=\"submitter.uuid\"\n          >\n            <a\n              href=\"#\"\n              class=\"flex px-2 group justify-between items-center\"\n              :class=\"{ 'active': submitter === selectedSubmitter }\"\n              @click.prevent=\"selectSubmitter(submitter)\"\n            >\n              <span class=\"py-1 flex items-center\">\n                <span\n                  class=\"rounded-full w-3 h-3 ml-1 mr-3\"\n                  :class=\"colors[index]\"\n                />\n                <span>\n                  {{ submitter.name }}\n                </span>\n              </span>\n              <button\n                v-if=\"submitters.length > 1 && editable\"\n                class=\"px-2\"\n                @click.prevent.stop=\"remove(submitter)\"\n              >\n                <IconTrashX :width=\"18\" />\n              </button>\n            </a>\n          </li>\n          <li v-if=\"submitters.length < names.length && editable\">\n            <a\n              href=\"#\"\n              class=\"flex px-2\"\n              @click.prevent=\"addSubmitter\"\n            >\n              <IconUserPlus\n                :width=\"20\"\n                :stroke-width=\"1.6\"\n              />\n              <span class=\"py-1\">\n                {{ t('add') }} {{ names[submitters.length] }}\n              </span>\n            </a>\n          </li>\n        </ul>\n      </div>\n    </div>\n  </div>\n  <div\n    v-else\n    class=\"dropdown\"\n    @mouseenter=\"renderDropdown = true\"\n    @touchstart=\"renderDropdown = true\"\n  >\n    <label\n      v-if=\"compact\"\n      tabindex=\"0\"\n      :title=\"selectedSubmitter?.name\"\n      class=\"cursor-pointer text-base-100 flex h-full items-center justify-center\"\n    >\n      <button\n        class=\"mx-1 w-3 h-3 rounded-full\"\n        :class=\"colors[submitters.indexOf(selectedSubmitter)]\"\n      />\n    </label>\n    <label\n      v-else\n      ref=\"label\"\n      tabindex=\"0\"\n      class=\"group cursor-pointer group/contenteditable-container rounded-md p-2 border border-base-300 hover:border-content w-full flex justify-between\"\n    >\n      <div class=\"flex items-center space-x-2\">\n        <span\n          class=\"w-3 h-3 rounded-full\"\n          :class=\"colors[submitters.indexOf(selectedSubmitter)]\"\n        />\n        <Contenteditable\n          v-model=\"selectedSubmitter.name\"\n          class=\"cursor-text\"\n          :icon-inline=\"true\"\n          :editable=\"editable\"\n          :select-on-edit-click=\"true\"\n          :icon-width=\"18\"\n          @update:model-value=\"$emit('name-change', selectedSubmitter)\"\n        />\n      </div>\n      <span class=\"flex items-center transition-all duration-75 group-hover:border border-base-content/20 border-dashed w-6 h-6 flex justify-center items-center rounded\">\n        <component\n          :is=\"editable ? 'IconPlus' : 'IconChevronDown'\"\n          width=\"18\"\n          height=\"18\"\n        />\n      </span>\n    </label>\n    <ul\n      v-if=\"(editable || !compact) && renderDropdown\"\n      tabindex=\"0\"\n      :class=\"menuClasses\"\n      :style=\"menuStyle\"\n      @click=\"closeDropdown\"\n    >\n      <li\n        v-for=\"(submitter, index) in submitters\"\n        :key=\"submitter.uuid\"\n      >\n        <a\n          href=\"#\"\n          class=\"flex px-2 group justify-between items-center\"\n          :class=\"{ 'active': submitter === selectedSubmitter, 'py-0.5': submitters.length > 8 }\"\n          @click.prevent=\"selectSubmitter(submitter)\"\n        >\n          <span class=\"py-1 flex items-center\">\n            <span\n              class=\"rounded-full w-3 h-3 ml-1 mr-3\"\n              :class=\"colors[index]\"\n            />\n            <span>\n              {{ submitter.name }}\n            </span>\n          </span>\n          <div\n            v-if=\"!compact && submitters.length > 1 && editable\"\n            class=\"flex\"\n          >\n            <div class=\"flex-col pr-1 hidden group-hover:flex -mt-1 h-0\">\n              <button\n                :title=\"t('up')\"\n                class=\"relative w-2\"\n                style=\"font-size: 10px; margin-bottom: -4px\"\n                @click.prevent.stop=\"[move(submitter, -1), $refs.label.focus()] \"\n              >\n                ▲\n              </button>\n              <button\n                :title=\"t('down')\"\n                class=\"relative w-2\"\n                style=\"font-size: 10px; margin-top: -4px\"\n                @click.prevent.stop=\"[move(submitter, 1), $refs.label.focus()] \"\n              >\n                ▼\n              </button>\n            </div>\n            <button\n              v-if=\"!compact && submitters.length > 1 && editable\"\n              class=\"hidden group-hover:block px-2\"\n              @click.prevent.stop=\"remove(submitter)\"\n            >\n              <IconTrashX :width=\"18\" />\n            </button>\n          </div>\n        </a>\n      </li>\n      <li v-if=\"submitters.length < names.length && editable && allowAddNew\">\n        <a\n          href=\"#\"\n          class=\"flex px-2\"\n          @click.prevent=\"addSubmitter\"\n        >\n          <IconUserPlus\n            :width=\"20\"\n            :stroke-width=\"1.6\"\n          />\n          <span class=\"py-1\">\n            {{ t('add') }} {{ names[submitters.length] }}\n          </span>\n        </a>\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { IconUserPlus, IconTrashX, IconPlus, IconChevronUp, IconChevronDown } from '@tabler/icons-vue'\nimport Contenteditable from './contenteditable'\nimport { v4 } from 'uuid'\n\nexport default {\n  name: 'FieldSubmitter',\n  components: {\n    IconUserPlus,\n    IconChevronDown,\n    Contenteditable,\n    IconPlus,\n    IconTrashX,\n    IconChevronUp\n  },\n  inject: ['t', 'save'],\n  props: {\n    submitters: {\n      type: Array,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    compact: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    mobileView: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    allowAddNew: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    modelValue: {\n      type: String,\n      required: true\n    },\n    menuStyle: {\n      type: Object,\n      required: false,\n      default: () => ({})\n    },\n    menuClasses: {\n      type: String,\n      required: false,\n      default: 'dropdown-content menu p-2 shadow rounded-box w-full z-10'\n    }\n  },\n  emits: ['update:model-value', 'remove', 'new-submitter', 'name-change'],\n  data () {\n    return {\n      renderDropdown: false\n    }\n  },\n  computed: {\n    colors () {\n      return [\n        'bg-red-500',\n        'bg-sky-500',\n        'bg-emerald-500',\n        'bg-yellow-300',\n        'bg-purple-600',\n        'bg-pink-500',\n        'bg-cyan-500',\n        'bg-orange-500',\n        'bg-lime-500',\n        'bg-indigo-500',\n        'bg-red-500',\n        'bg-sky-500',\n        'bg-emerald-500',\n        'bg-yellow-300',\n        'bg-purple-600',\n        'bg-pink-500',\n        'bg-cyan-500',\n        'bg-orange-500',\n        'bg-lime-500',\n        'bg-indigo-500'\n      ]\n    },\n    names () {\n      return [\n        this.t('first_party'),\n        this.t('second_party'),\n        this.t('third_party'),\n        this.t('fourth_party'),\n        this.t('fifth_party'),\n        this.t('sixth_party'),\n        this.t('seventh_party'),\n        this.t('eighth_party'),\n        this.t('ninth_party'),\n        this.t('tenth_party'),\n        this.t('eleventh_party'),\n        this.t('twelfth_party'),\n        this.t('thirteenth_party'),\n        this.t('fourteenth_party'),\n        this.t('fifteenth_party'),\n        this.t('sixteenth_party'),\n        this.t('seventeenth_party'),\n        this.t('eighteenth_party'),\n        this.t('nineteenth_party'),\n        this.t('twentieth_party')\n      ]\n    },\n    selectedSubmitter () {\n      return this.submitters.find((e) => e.uuid === this.modelValue)\n    }\n  },\n  methods: {\n    selectSubmitter (submitter) {\n      this.$emit('update:model-value', submitter.uuid)\n    },\n    remove (submitter) {\n      if (window.confirm(this.t('are_you_sure'))) {\n        this.$emit('remove', submitter)\n      }\n    },\n    move (submitter, direction) {\n      const currentIndex = this.submitters.indexOf(submitter)\n\n      this.submitters.splice(currentIndex, 1)\n\n      if (currentIndex + direction > this.submitters.length) {\n        this.submitters.unshift(submitter)\n      } else if (currentIndex + direction < 0) {\n        this.submitters.push(submitter)\n      } else {\n        this.submitters.splice(currentIndex + direction, 0, submitter)\n      }\n\n      this.selectSubmitter(submitter)\n\n      this.save()\n    },\n    addSubmitter () {\n      const newSubmitter = {\n        name: this.names[this.submitters.length],\n        uuid: v4()\n      }\n\n      this.submitters.push(newSubmitter)\n\n      this.$emit('update:model-value', newSubmitter.uuid)\n      this.$emit('new-submitter', newSubmitter)\n    },\n    closeDropdown () {\n      document.activeElement.blur()\n    }\n  }\n}\n</script>\n","import { render } from \"./field_submitter.vue?vue&type=template&id=f2911736\"\nimport script from \"./field_submitter.vue?vue&type=script&lang=js\"\nexport * from \"./field_submitter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"18\"\n    height=\"18\"\n    viewBox=\"0 0 24 24\"\n    stroke-width=\"1.5\"\n    stroke=\"currentColor\"\n    fill=\"none\"\n    stroke-linecap=\"round\"\n    stroke-linejoin=\"round\"\n  >\n    <path\n      stroke=\"none\"\n      d=\"M0 0h24v24H0z\"\n      fill=\"none\"\n    />\n    <path d=\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n    <path d=\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n    <path d=\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n    <path d=\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n    <path d=\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n    <path d=\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'DragIcon'\n}\n</script>\n","import { render } from \"./icon_drag.vue?vue&type=template&id=48fe12a0\"\nimport script from \"./icon_drag.vue?vue&type=script&lang=js\"\nexport * from \"./icon_drag.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./fields.vue?vue&type=template&id=66ac427b\"\nimport script from \"./fields.vue?vue&type=script&lang=js\"\nexport * from \"./fields.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"absolute text-center w-full bottom-0 pr-3 mb-4\">\n    <span class=\"w-full bg-base-200 px-4 py-2 rounded-md inline-flex space-x-2 mx-auto items-center justify-between mb-2 z-20 md:hidden\">\n      <div class=\"flex items-center space-x-2\">\n        <component\n          :is=\"fieldIcons[drawField.type]\"\n          :width=\"20\"\n          :height=\"20\"\n          class=\"inline\"\n          :stroke-width=\"1.6\"\n        />\n        <span>{{ t('draw_field').replace('{field}', fieldNames[drawField.type]) }}</span>\n      </div>\n      <a\n        href=\"#\"\n        class=\"link block text-center\"\n        @click.prevent=\"$emit('cancel')\"\n      >\n        {{ t('cancel') }}\n      </a>\n    </span>\n    <FieldSubmitter\n      :model-value=\"selectedSubmitter.uuid\"\n      :submitters=\"submitters\"\n      :editable=\"editable\"\n      :mobile-view=\"true\"\n      :menu-style=\"{ backgroundColor: ['', null, 'transparent'].includes(backgroundColor) ? 'white' : backgroundColor }\"\n      @new-submitter=\"save\"\n      @remove=\"removeSubmitter\"\n      @name-change=\"save\"\n      @update:model-value=\"$emit('change-submitter', submitters.find((s) => s.uuid === $event))\"\n    />\n  </div>\n</template>\n\n<script>\nimport Field from './field'\nimport FieldType from './field_type'\nimport FieldSubmitter from './field_submitter'\n\nexport default {\n  name: 'MobileDrawField',\n  components: {\n    Field,\n    FieldSubmitter\n  },\n  inject: ['save', 't', 'backgroundColor'],\n  props: {\n    drawField: {\n      type: Object,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    submitters: {\n      type: Array,\n      required: true\n    },\n    fields: {\n      type: Array,\n      required: true\n    },\n    selectedSubmitter: {\n      type: Object,\n      required: true\n    }\n  },\n  emits: ['change-submitter', 'cancel'],\n  computed: {\n    fieldNames: FieldType.computed.fieldNames,\n    fieldIcons: FieldType.computed.fieldIcons\n  },\n  methods: {\n    removeSubmitter (submitter) {\n      [...this.fields].forEach((field) => {\n        if (field.submitter_uuid === submitter.uuid) {\n          this.removeField(field)\n        }\n      })\n\n      this.submitters.splice(this.submitters.indexOf(submitter), 1)\n\n      if (this.selectedSubmitter === submitter) {\n        this.$emit('change-submitter', this.submitters[0])\n      }\n\n      this.save()\n    },\n    removeField (field) {\n      this.fields.splice(this.fields.indexOf(field), 1)\n\n      this.save()\n    }\n  }\n}\n</script>\n","import { render } from \"./mobile_draw_field.vue?vue&type=template&id=5be3430d\"\nimport script from \"./mobile_draw_field.vue?vue&type=script&lang=js\"\nexport * from \"./mobile_draw_field.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div\n    class=\"absolute overflow-visible group\"\n    :style=\"positionStyle\"\n    @pointerdown.stop\n    @mousedown=\"startMouseMove\"\n    @touchstart=\"startTouchDrag\"\n  >\n    <div\n      v-if=\"isSelected || isDraw\"\n      class=\"top-0 bottom-0 right-0 left-0 absolute border border-1.5 pointer-events-none\"\n      :class=\"field.type === 'heading' ? '' : borderColors[submitterIndex]\"\n    />\n    <div\n      v-if=\"field.type === 'cells' && (isSelected || isDraw)\"\n      class=\"top-0 bottom-0 right-0 left-0 absolute\"\n    >\n      <div\n        v-for=\"(cellW, index) in cells\"\n        :key=\"index\"\n        class=\"absolute top-0 bottom-0 border-r\"\n        :class=\"field.type === 'heading' ? '' : borderColors[submitterIndex]\"\n        :style=\"{ left: (cellW / area.w * 100) + '%' }\"\n      >\n        <span\n          v-if=\"index === 0 && editable\"\n          class=\"h-2.5 w-2.5 rounded-full -bottom-1 border-gray-400 bg-white shadow-md border absolute cursor-ew-resize z-10\"\n          style=\"left: -4px\"\n          @mousedown.stop=\"startResizeCell\"\n        />\n      </div>\n    </div>\n    <div\n      v-if=\"field?.type && (isSelected || isNameFocus)\"\n      class=\"absolute bg-white rounded-t border overflow-visible whitespace-nowrap flex z-10\"\n      style=\"top: -25px; height: 25px\"\n      @mousedown.stop\n      @pointerdown.stop\n    >\n      <FieldSubmitter\n        v-if=\"field.type != 'heading'\"\n        v-model=\"field.submitter_uuid\"\n        class=\"border-r\"\n        :compact=\"true\"\n        :editable=\"editable && (!defaultField || defaultField.role !== submitter?.name)\"\n        :allow-add-new=\"!defaultSubmitters.length\"\n        :menu-classes=\"'dropdown-content bg-white menu menu-xs p-2 shadow rounded-box w-52 rounded-t-none -left-[1px] mt-[1px]'\"\n        :submitters=\"template.submitters\"\n        @update:model-value=\"save\"\n        @click=\"selectedAreaRef.value = area\"\n      />\n      <FieldType\n        v-model=\"field.type\"\n        :button-width=\"27\"\n        :editable=\"editable && !defaultField\"\n        :button-classes=\"'px-1'\"\n        :menu-classes=\"'bg-white rounded-t-none'\"\n        @update:model-value=\"[maybeUpdateOptions(), save()]\"\n        @click=\"selectedAreaRef.value = area\"\n      />\n      <span\n        v-if=\"field.type !== 'checkbox' || field.name\"\n        ref=\"name\"\n        :contenteditable=\"editable && !defaultField && field.type !== 'heading'\"\n        dir=\"auto\"\n        class=\"pr-1 cursor-text outline-none block\"\n        style=\"min-width: 2px\"\n        @paste.prevent=\"onPaste\"\n        @keydown.enter.prevent=\"onNameEnter\"\n        @focus=\"onNameFocus\"\n        @blur=\"onNameBlur\"\n      >{{ optionIndexText }} {{ (defaultField ? (field.title || field.name) : field.name) || defaultName }}</span>\n      <div\n        v-if=\"isSettingsFocus || (isValueInput && field.type !== 'heading') || (isNameFocus && !['checkbox', 'phone'].includes(field.type))\"\n        class=\"flex items-center ml-1.5\"\n      >\n        <input\n          v-if=\"!isValueInput\"\n          :id=\"`required-checkbox-${field.uuid}`\"\n          v-model=\"field.required\"\n          type=\"checkbox\"\n          class=\"checkbox checkbox-xs no-animation rounded\"\n          @mousedown.prevent\n        >\n        <label\n          v-if=\"!isValueInput\"\n          :for=\"`required-checkbox-${field.uuid}`\"\n          class=\"label text-xs\"\n          @click.prevent=\"field.required = !field.required\"\n          @mousedown.prevent\n        >{{ t('required') }}</label>\n        <input\n          v-if=\"isValueInput\"\n          :id=\"`readonly-checkbox-${field.uuid}`\"\n          type=\"checkbox\"\n          class=\"checkbox checkbox-xs no-animation rounded\"\n          :checked=\"!(field.readonly ?? true)\"\n          @change=\"field.readonly = !(field.readonly ?? true)\"\n          @mousedown.prevent\n        >\n        <label\n          v-if=\"isValueInput\"\n          :for=\"`readonly-checkbox-${field.uuid}`\"\n          class=\"label text-xs\"\n          @click.prevent=\"field.readonly = !(field.readonly ?? true)\"\n          @mousedown.prevent\n        >{{ t('editable') }}</label>\n        <span\n          v-if=\"field.type !== 'payment' && !isValueInput\"\n          class=\"dropdown dropdown-end\"\n          @mouseenter=\"renderDropdown = true\"\n          @touchstart=\"renderDropdown = true\"\n        >\n          <label\n            ref=\"settingsButton\"\n            tabindex=\"0\"\n            :title=\"t('settings')\"\n            class=\"cursor-pointer flex items-center\"\n            style=\"height: 25px\"\n            @focus=\"isSettingsFocus = true\"\n            @blur=\"maybeBlurSettings\"\n          >\n            <IconDotsVertical class=\"w-5 h-5\" />\n          </label>\n          <ul\n            v-if=\"renderDropdown\"\n            ref=\"settingsDropdown\"\n            tabindex=\"0\"\n            class=\"dropdown-content menu menu-xs px-2 pb-2 pt-1 shadow rounded-box w-52 z-10 rounded-t-none\"\n            :style=\"{ backgroundColor: 'white' }\"\n            @dragstart.prevent.stop\n            @click=\"closeDropdown\"\n            @focusout=\"maybeBlurSettings\"\n          >\n            <FieldSettings\n              :field=\"field\"\n              :default-field=\"defaultField\"\n              :editable=\"editable\"\n              :background-color=\"'white'\"\n              :with-required=\"false\"\n              :with-areas=\"false\"\n              @click-formula=\"isShowFormulaModal = true\"\n              @click-description=\"isShowDescriptionModal = true\"\n              @click-condition=\"isShowConditionsModal = true\"\n              @scroll-to=\"[selectedAreaRef.value = $event, $emit('scroll-to', $event)]\"\n            />\n          </ul>\n        </span>\n      </div>\n      <button\n        v-else-if=\"editable\"\n        class=\"pr-1\"\n        :title=\"t('remove')\"\n        @click.prevent=\"$emit('remove')\"\n      >\n        <IconX width=\"14\" />\n      </button>\n    </div>\n    <div\n      ref=\"touchValueTarget\"\n      class=\"flex items-center h-full w-full\"\n      dir=\"auto\"\n      :class=\"[isValueInput ? 'bg-opacity-50' : 'bg-opacity-80', field.type === 'heading' ? 'bg-gray-50' : bgColors[submitterIndex], isDefaultValuePresent || isValueInput || (withFieldPlaceholder && field.areas) ? (alignClasses[field.preferences?.align] || '') : 'justify-center']\"\n      @click=\"focusValueInput\"\n    >\n      <span\n        v-if=\"field\"\n        class=\"flex justify-center items-center space-x-1\"\n        :class=\"{ 'w-full': ['cells', 'checkbox'].includes(field.type), 'h-full': !isValueInput }\"\n      >\n        <div\n          v-if=\"isDefaultValuePresent || isValueInput || (withFieldPlaceholder && field.areas && field.type !== 'checkbox')\"\n          :class=\"{ 'w-full h-full': ['cells', 'checkbox'].includes(field.type), 'text-[1.6vw] lg:text-base': !textOverflowChars, 'text-[1.0vw] lg:text-xs': textOverflowChars }\"\n        >\n          <div\n            ref=\"textContainer\"\n            class=\"flex items-center px-0.5\"\n            :class=\"{ 'w-full h-full': ['cells', 'checkbox'].includes(field.type) }\"\n          >\n            <IconCheck\n              v-if=\"field.type == 'checkbox'\"\n              class=\"aspect-square mx-auto\"\n              :class=\"{ '!w-auto !h-full': area.w > area.h, '!w-full !h-auto': area.w <= area.h }\"\n            />\n            <span\n              v-else-if=\"field.type === 'number' && !isValueInput && (field.default_value || field.default_value == 0)\"\n              class=\"whitespace-pre-wrap\"\n            >{{ formatNumber(field.default_value, field.preferences?.format) }}</span>\n            <span\n              v-else-if=\"field.default_value === '{{date}}'\"\n            >\n              {{ t('signing_date') }}\n            </span>\n            <div\n              v-else-if=\"field.type === 'cells' && field.default_value\"\n              class=\"w-full flex items-center\"\n            >\n              <div\n                v-for=\"(char, index) in field.default_value\"\n                :key=\"index\"\n                class=\"text-center flex-none\"\n                :style=\"{ width: (area.cell_w / area.w * 100) + '%' }\"\n              >\n                {{ char }}\n              </div>\n            </div>\n            <span\n              v-else\n              ref=\"defaultValue\"\n              :contenteditable=\"isValueInput\"\n              class=\"whitespace-pre-wrap outline-none empty:before:content-[attr(placeholder)] before:text-gray-400\"\n              :class=\"{ 'cursor-text': isValueInput }\"\n              :placeholder=\"withFieldPlaceholder && !isValueInput ? field.name || defaultName : t('type_value')\"\n              @blur=\"onDefaultValueBlur\"\n              @paste.prevent=\"onPaste\"\n              @keydown.enter=\"onDefaultValueEnter\"\n            >{{ field.default_value }}</span>\n          </div>\n        </div>\n        <component\n          :is=\"fieldIcons[field.type]\"\n          v-else\n          width=\"100%\"\n          height=\"100%\"\n          class=\"max-h-10 opacity-50\"\n        />\n      </span>\n    </div>\n    <div\n      v-if=\"!isValueInput\"\n      ref=\"touchTarget\"\n      class=\"absolute top-0 bottom-0 right-0 left-0\"\n      :class=\"isDragged ? 'cursor-grab' : 'cursor-pointer'\"\n      @dblclick=\"maybeToggleDefaultValue\"\n      @click=\"maybeToggleCheckboxValue\"\n    />\n    <span\n      v-if=\"field?.type && editable\"\n      class=\"h-4 w-4 md:h-2.5 md:w-2.5 -right-1 rounded-full -bottom-1 border-gray-400 bg-white shadow-md border absolute cursor-nwse-resize\"\n      @mousedown.stop=\"startResize\"\n      @touchstart=\"startTouchResize\"\n    />\n    <Teleport\n      v-if=\"isShowFormulaModal\"\n      :to=\"modalContainerEl\"\n    >\n      <FormulaModal\n        :field=\"field\"\n        :editable=\"editable && !defaultField\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowFormulaModal = false\"\n      />\n    </Teleport>\n    <Teleport\n      v-if=\"isShowConditionsModal\"\n      :to=\"modalContainerEl\"\n    >\n      <ConditionsModal\n        :field=\"field\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowConditionsModal = false\"\n      />\n    </Teleport>\n    <Teleport\n      v-if=\"isShowDescriptionModal\"\n      :to=\"modalContainerEl\"\n    >\n      <DescriptionModal\n        :field=\"field\"\n        :editable=\"editable && !defaultField\"\n        :build-default-name=\"buildDefaultName\"\n        @close=\"isShowDescriptionModal = false\"\n      />\n    </Teleport>\n  </div>\n</template>\n\n<script>\nimport FieldSubmitter from './field_submitter'\nimport FieldType from './field_type'\nimport Field from './field'\nimport FieldSettings from './field_settings'\nimport FormulaModal from './formula_modal'\nimport ConditionsModal from './conditions_modal'\nimport DescriptionModal from './description_modal'\nimport { IconX, IconCheck, IconDotsVertical } from '@tabler/icons-vue'\nimport { v4 } from 'uuid'\n\nexport default {\n  name: 'FieldArea',\n  components: {\n    FieldType,\n    IconCheck,\n    FieldSettings,\n    FormulaModal,\n    IconDotsVertical,\n    DescriptionModal,\n    ConditionsModal,\n    FieldSubmitter,\n    IconX\n  },\n  inject: ['template', 'selectedAreaRef', 'save', 't'],\n  props: {\n    area: {\n      type: Object,\n      required: true\n    },\n    inputMode: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    isDraw: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    defaultField: {\n      type: Object,\n      required: false,\n      default: null\n    },\n    withFieldPlaceholder: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    defaultSubmitters: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    field: {\n      type: Object,\n      required: false,\n      default: null\n    }\n  },\n  emits: ['start-resize', 'stop-resize', 'start-drag', 'stop-drag', 'remove', 'scroll-to'],\n  data () {\n    return {\n      isShowFormulaModal: false,\n      isShowConditionsModal: false,\n      isContenteditable: false,\n      isSettingsFocus: false,\n      isShowDescriptionModal: false,\n      isResize: false,\n      isDragged: false,\n      isMoved: false,\n      renderDropdown: false,\n      isNameFocus: false,\n      textOverflowChars: 0,\n      dragFrom: { x: 0, y: 0 }\n    }\n  },\n  computed: {\n    fieldNames: FieldType.computed.fieldNames,\n    fieldIcons: FieldType.computed.fieldIcons,\n    isDefaultValuePresent () {\n      if (this.field?.type === 'radio' && this.field?.areas?.length > 1) {\n        return false\n      } else {\n        return this.field?.default_value || this.field?.default_value === 0\n      }\n    },\n    isValueInput () {\n      return (this.field.type === 'heading' && this.isSelected) || this.isContenteditable || (this.inputMode && ['text', 'number', 'date'].includes(this.field.type))\n    },\n    modalContainerEl () {\n      return this.$el.getRootNode().querySelector('#docuseal_modal_container')\n    },\n    defaultName () {\n      return this.buildDefaultName(this.field, this.template.fields)\n    },\n    alignClasses () {\n      return {\n        center: 'justify-center',\n        left: 'justify-start',\n        right: 'justify-end'\n      }\n    },\n    optionIndexText () {\n      if (this.area.option_uuid && this.field.options) {\n        return `${this.field.options.findIndex((o) => o.uuid === this.area.option_uuid) + 1}.`\n      } else {\n        return ''\n      }\n    },\n    cells () {\n      const cells = []\n\n      let currentWidth = 0\n\n      while (currentWidth + (this.area.cell_w + this.area.cell_w / 4) < this.area.w) {\n        currentWidth += this.area.cell_w || 9999999\n\n        cells.push(currentWidth)\n      }\n\n      return cells\n    },\n    submitter () {\n      return this.template.submitters.find((s) => s.uuid === this.field.submitter_uuid)\n    },\n    submitterIndex () {\n      return this.template.submitters.indexOf(this.submitter)\n    },\n    borderColors () {\n      return [\n        'border-red-500/80',\n        'border-sky-500/80',\n        'border-emerald-500/80',\n        'border-yellow-300/80',\n        'border-purple-600/80',\n        'border-pink-500/80',\n        'border-cyan-500/80',\n        'border-orange-500/80',\n        'border-lime-500/80',\n        'border-indigo-500/80',\n        'border-red-500/80',\n        'border-sky-500/80',\n        'border-emerald-500/80',\n        'border-yellow-300/80',\n        'border-purple-600/80',\n        'border-pink-500/80',\n        'border-cyan-500/80',\n        'border-orange-500/80',\n        'border-lime-500/80',\n        'border-indigo-500/80'\n      ]\n    },\n    bgColors () {\n      return [\n        'bg-red-100',\n        'bg-sky-100',\n        'bg-emerald-100',\n        'bg-yellow-100',\n        'bg-purple-100',\n        'bg-pink-100',\n        'bg-cyan-100',\n        'bg-orange-100',\n        'bg-lime-100',\n        'bg-indigo-100',\n        'bg-red-100',\n        'bg-sky-100',\n        'bg-emerald-100',\n        'bg-yellow-100',\n        'bg-purple-100',\n        'bg-pink-100',\n        'bg-cyan-100',\n        'bg-orange-100',\n        'bg-lime-100',\n        'bg-indigo-100'\n      ]\n    },\n    isSelected () {\n      return this.selectedAreaRef.value === this.area\n    },\n    positionStyle () {\n      const { x, y, w, h } = this.area\n\n      return {\n        top: y * 100 + '%',\n        left: x * 100 + '%',\n        width: w * 100 + '%',\n        height: h * 100 + '%'\n      }\n    }\n  },\n  watch: {\n    'field.default_value' () {\n      this.$nextTick(() => {\n        if (['date', 'text', 'number'].includes(this.field.type) && this.field.default_value && this.$refs.textContainer && (this.textOverflowChars === 0 || (this.textOverflowChars - 4) > `${this.field.default_value}`.length)) {\n          this.textOverflowChars = this.$el.clientHeight < this.$refs.textContainer.clientHeight ? `${this.field.default_value}`.length : 0\n        }\n      })\n    }\n  },\n  mounted () {\n    this.$nextTick(() => {\n      if (['date', 'text', 'number'].includes(this.field.type) && this.field.default_value && this.$refs.textContainer && (this.textOverflowChars === 0 || (this.textOverflowChars - 4) > `${this.field.default_value}`.length)) {\n        this.textOverflowChars = this.$el.clientHeight < this.$refs.textContainer.clientHeight ? `${this.field.default_value}`.length : 0\n      }\n    })\n  },\n  methods: {\n    buildDefaultName: Field.methods.buildDefaultName,\n    closeDropdown () {\n      document.activeElement.blur()\n    },\n    maybeToggleDefaultValue () {\n      if (['text', 'number'].includes(this.field.type)) {\n        this.isContenteditable = true\n\n        this.$nextTick(() => this.focusValueInput())\n      } else if (this.field.type === 'checkbox') {\n        this.field.readonly = !this.field.readonly\n        this.field.default_value === true ? delete this.field.default_value : this.field.default_value = true\n\n        this.save()\n      } else if (this.field.type === 'date') {\n        this.field.readonly = !this.field.readonly\n        this.field.default_value === '{{date}}' ? delete this.field.default_value : this.field.default_value = '{{date}}'\n\n        this.save()\n      }\n    },\n    maybeToggleCheckboxValue () {\n      if (this.inputMode && this.field.type === 'checkbox') {\n        this.field.readonly = !this.field.readonly\n        this.field.default_value === true ? delete this.field.default_value : this.field.default_value = true\n\n        this.save()\n      }\n    },\n    focusValueInput (e) {\n      if (this.$refs.defaultValue !== document.activeElement) {\n        this.$refs.defaultValue.focus()\n\n        if (this.$refs.defaultValue.innerText.length && this.$refs.defaultValue !== e?.target) {\n          window.getSelection().collapse(\n            this.$refs.defaultValue.firstChild,\n            this.$refs.defaultValue.innerText.length\n          )\n        }\n      }\n    },\n    formatNumber (number, format) {\n      if (format === 'comma') {\n        return new Intl.NumberFormat('en-US').format(number)\n      } else if (format === 'dot') {\n        return new Intl.NumberFormat('de-DE').format(number)\n      } else if (format === 'space') {\n        return new Intl.NumberFormat('fr-FR').format(number)\n      } else {\n        return number\n      }\n    },\n    maybeBlurSettings (e) {\n      if (!e.relatedTarget || !this.$refs.settingsDropdown.contains(e.relatedTarget)) {\n        this.isSettingsFocus = false\n      }\n    },\n    onNameFocus (e) {\n      this.selectedAreaRef.value = this.area\n\n      this.isNameFocus = true\n      this.$refs.name.style.minWidth = this.$refs.name.clientWidth + 'px'\n\n      if (!this.field.name) {\n        setTimeout(() => {\n          this.$refs.name.innerText = ' '\n        }, 1)\n      }\n    },\n    startResizeCell (e) {\n      this.$el.getRootNode().addEventListener('mousemove', this.onResizeCell)\n      this.$el.getRootNode().addEventListener('mouseup', this.stopResizeCell)\n\n      this.$emit('start-resize', 'ew')\n    },\n    stopResizeCell (e) {\n      this.$el.getRootNode().removeEventListener('mousemove', this.onResizeCell)\n      this.$el.getRootNode().removeEventListener('mouseup', this.stopResizeCell)\n\n      this.$emit('stop-resize')\n\n      this.save()\n    },\n    onPaste (e) {\n      const text = (e.clipboardData || window.clipboardData).getData('text/plain')\n\n      const selection = this.$el.getRootNode().getSelection()\n\n      if (selection.rangeCount) {\n        selection.deleteFromDocument()\n        selection.getRangeAt(0).insertNode(document.createTextNode(text))\n        selection.collapseToEnd()\n      }\n    },\n    onResizeCell (e) {\n      if (e.target.id === 'mask') {\n        const positionX = e.offsetX / (e.target.clientWidth - 1)\n\n        if (positionX > this.area.x) {\n          this.area.cell_w = positionX - this.area.x\n        }\n      }\n    },\n    maybeUpdateOptions () {\n      delete this.field.default_value\n\n      if (!['radio', 'multiple', 'select'].includes(this.field.type)) {\n        delete this.field.options\n      }\n\n      if (['heading'].includes(this.field.type)) {\n        this.field.readonly = true\n      }\n\n      if (['select', 'multiple', 'radio'].includes(this.field.type)) {\n        this.field.options ||= [{ value: '', uuid: v4() }]\n      }\n\n      (this.field.areas || []).forEach((area) => {\n        if (this.field.type === 'cells') {\n          area.cell_w = area.w * 2 / Math.floor(area.w / area.h)\n        } else {\n          delete area.cell_w\n        }\n      })\n    },\n    onNameBlur (e) {\n      if (e.relatedTarget === this.$refs.settingsButton) {\n        this.isSettingsFocus = true\n      }\n\n      const text = this.$refs.name.innerText.trim()\n\n      this.isNameFocus = false\n      this.$refs.name.style.minWidth = ''\n\n      if (text) {\n        this.field.name = text\n      } else {\n        this.field.name = ''\n        this.$refs.name.innerText = this.defaultName\n      }\n\n      this.save()\n    },\n    onDefaultValueBlur (e) {\n      const text = this.$refs.defaultValue.innerText.trim()\n\n      this.isContenteditable = false\n\n      if (text) {\n        if (this.field.type === 'number') {\n          const number = parseFloat(text)\n\n          if (number || number === 0) {\n            this.field.default_value = parseFloat(text)\n          }\n        } else {\n          this.field.default_value = text\n        }\n\n        if (![true, false].includes(this.field.readonly)) {\n          this.field.readonly = true\n        }\n\n        this.$refs.defaultValue.innerText = text\n      } else {\n        delete this.field.readonly\n        delete this.field.default_value\n        this.$refs.defaultValue.innerText = ''\n      }\n\n      this.save()\n    },\n    onDefaultValueEnter (e) {\n      if (this.field.type !== 'heading') {\n        e.preventDefault()\n\n        this.$refs.defaultValue.blur()\n      }\n    },\n    onNameEnter (e) {\n      this.$refs.name.blur()\n    },\n    resize (e) {\n      if (e.target.id === 'mask') {\n        this.area.w = e.offsetX / e.target.clientWidth - this.area.x\n        this.area.h = e.offsetY / e.target.clientHeight - this.area.y\n      }\n    },\n    drag (e) {\n      if (e.target.id === 'mask') {\n        this.isDragged = true\n\n        this.area.x = (e.offsetX - this.dragFrom.x) / e.target.clientWidth\n        this.area.y = (e.offsetY - this.dragFrom.y) / e.target.clientHeight\n      }\n    },\n    startTouchDrag (e) {\n      if (e.target !== this.$refs.touchTarget && e.target !== this.$refs.touchValueTarget) {\n        return\n      }\n\n      document.activeElement?.blur()\n\n      e.preventDefault()\n\n      this.isDragged = true\n\n      const rect = e.target.getBoundingClientRect()\n\n      this.selectedAreaRef.value = this.area\n\n      this.dragFrom = { x: rect.left - e.touches[0].clientX, y: rect.top - e.touches[0].clientY }\n\n      this.$el.getRootNode().addEventListener('touchmove', this.touchDrag)\n      this.$el.getRootNode().addEventListener('touchend', this.stopTouchDrag)\n\n      this.$emit('start-drag')\n    },\n    touchDrag (e) {\n      if (!this.editable) {\n        return\n      }\n\n      const page = this.$parent.$refs.mask.previousSibling\n      const rect = page.getBoundingClientRect()\n\n      this.area.x = Math.min(Math.max((this.dragFrom.x + e.touches[0].clientX - rect.left) / rect.width, 0), 1 - this.area.w)\n      this.area.y = Math.min(Math.max((this.dragFrom.y + e.touches[0].clientY - rect.top) / rect.height, 0), 1 - this.area.h)\n    },\n    stopTouchDrag () {\n      this.$el.getRootNode().removeEventListener('touchmove', this.touchDrag)\n      this.$el.getRootNode().removeEventListener('touchend', this.stopTouchDrag)\n\n      if (this.isDragged) {\n        this.save()\n      }\n\n      this.isDragged = false\n\n      this.$emit('stop-drag')\n    },\n    startMouseMove (e) {\n      if (e.target !== this.$refs.touchTarget && e.target !== this.$refs.touchValueTarget) {\n        return\n      }\n\n      if (document.activeElement !== this.$refs.defaultValue) {\n        document.activeElement?.blur()\n      }\n\n      e.preventDefault()\n\n      this.isDragged = true\n\n      const rect = e.target.getBoundingClientRect()\n\n      this.selectedAreaRef.value = this.area\n\n      if (this.field.type === 'heading') {\n        this.$nextTick(() => this.focusValueInput())\n      }\n\n      this.dragFrom = { x: rect.left - e.clientX, y: rect.top - e.clientY }\n\n      this.$el.getRootNode().addEventListener('mousemove', this.mouseMove)\n      this.$el.getRootNode().addEventListener('mouseup', this.stopMouseMove)\n\n      this.$emit('start-drag')\n    },\n    mouseMove (e) {\n      if (!this.editable) {\n        return\n      }\n\n      this.isMoved = true\n\n      const page = this.$parent.$refs.mask.previousSibling\n      const rect = page.getBoundingClientRect()\n\n      this.area.x = Math.min(Math.max((this.dragFrom.x + e.clientX - rect.left) / rect.width, 0), 1 - this.area.w)\n      this.area.y = Math.min(Math.max((this.dragFrom.y + e.clientY - rect.top) / rect.height, 0), 1 - this.area.h)\n    },\n    stopMouseMove (e) {\n      this.$el.getRootNode().removeEventListener('mousemove', this.mouseMove)\n      this.$el.getRootNode().removeEventListener('mouseup', this.stopMouseMove)\n\n      if (this.isMoved) {\n        this.save()\n      }\n\n      this.isDragged = false\n      this.isMoved = false\n\n      this.$emit('stop-drag')\n    },\n    stopDrag () {\n      this.$el.getRootNode().removeEventListener('mousemove', this.drag)\n      this.$el.getRootNode().removeEventListener('mouseup', this.stopDrag)\n\n      if (this.isDragged) {\n        this.save()\n      }\n\n      this.isDragged = false\n\n      this.$emit('stop-drag')\n    },\n    startResize () {\n      this.selectedAreaRef.value = this.area\n\n      this.$el.getRootNode().addEventListener('mousemove', this.resize)\n      this.$el.getRootNode().addEventListener('mouseup', this.stopResize)\n\n      this.$emit('start-resize', 'nwse')\n    },\n    stopResize () {\n      this.$el.getRootNode().removeEventListener('mousemove', this.resize)\n      this.$el.getRootNode().removeEventListener('mouseup', this.stopResize)\n\n      this.$emit('stop-resize')\n\n      this.save()\n    },\n    startTouchResize (e) {\n      this.selectedAreaRef.value = this.area\n\n      this.$refs?.name?.blur()\n\n      e.preventDefault()\n\n      this.$el.getRootNode().addEventListener('touchmove', this.touchResize)\n      this.$el.getRootNode().addEventListener('touchend', this.stopTouchResize)\n\n      this.$emit('start-resize', 'nwse')\n    },\n    touchResize (e) {\n      const page = this.$parent.$refs.mask.previousSibling\n      const rect = page.getBoundingClientRect()\n\n      this.area.w = (e.touches[0].clientX - rect.left) / rect.width - this.area.x\n      this.area.h = (e.touches[0].clientY - rect.top) / rect.height - this.area.y\n    },\n    stopTouchResize () {\n      this.$el.getRootNode().removeEventListener('touchmove', this.touchResize)\n      this.$el.getRootNode().removeEventListener('touchend', this.stopTouchResize)\n\n      this.$emit('stop-resize')\n\n      this.save()\n    }\n  }\n}\n</script>\n","<template>\n  <div\n    class=\"relative cursor-crosshair select-none\"\n    :style=\"drawField ? 'touch-action: none' : ''\"\n  >\n    <img\n      ref=\"image\"\n      loading=\"lazy\"\n      :src=\"image.url\"\n      :width=\"width\"\n      :height=\"height\"\n      class=\"border rounded mb-4\"\n      @load=\"onImageLoad\"\n    >\n    <div\n      class=\"top-0 bottom-0 left-0 right-0 absolute\"\n      @pointerdown=\"onStartDraw\"\n    >\n      <FieldArea\n        v-for=\"(item, i) in areas\"\n        :key=\"i\"\n        :ref=\"setAreaRefs\"\n        :area=\"item.area\"\n        :input-mode=\"inputMode\"\n        :field=\"item.field\"\n        :editable=\"editable\"\n        :with-field-placeholder=\"withFieldPlaceholder\"\n        :default-field=\"defaultFields.find((f) => f.name === item.field.name)\"\n        :default-submitters=\"defaultSubmitters\"\n        @start-resize=\"resizeDirection = $event\"\n        @stop-resize=\"resizeDirection = null\"\n        @remove=\"$emit('remove-area', item.area)\"\n        @scroll-to=\"$emit('scroll-to', $event)\"\n      />\n      <FieldArea\n        v-if=\"newArea\"\n        :is-draw=\"true\"\n        :field=\"{ submitter_uuid: selectedSubmitter.uuid, type: drawField?.type || defaultFieldType }\"\n        :area=\"newArea\"\n      />\n    </div>\n    <div\n      v-show=\"resizeDirection || isDrag || showMask || (drawField && isMobile) || fieldsDragFieldRef.value\"\n      id=\"mask\"\n      ref=\"mask\"\n      class=\"top-0 bottom-0 left-0 right-0 absolute\"\n      :class=\"{ 'z-10': !isMobile, 'cursor-grab': isDrag, 'cursor-nwse-resize': drawField, [resizeDirectionClasses[resizeDirection]]: !!resizeDirectionClasses }\"\n      @pointermove=\"onPointermove\"\n      @pointerdown=\"onStartDraw\"\n      @dragover.prevent\n      @drop=\"onDrop\"\n      @pointerup=\"onPointerup\"\n    />\n  </div>\n</template>\n\n<script>\nimport FieldArea from './area'\n\nexport default {\n  name: 'TemplatePage',\n  components: {\n    FieldArea\n  },\n  inject: ['fieldTypes', 'defaultDrawFieldType', 'fieldsDragFieldRef'],\n  props: {\n    image: {\n      type: Object,\n      required: true\n    },\n    areas: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    inputMode: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    defaultFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    withFieldPlaceholder: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    drawFieldType: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    allowDraw: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    selectedSubmitter: {\n      type: Object,\n      required: true\n    },\n    defaultSubmitters: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    drawField: {\n      type: Object,\n      required: false,\n      default: null\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    isDrag: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    number: {\n      type: Number,\n      required: true\n    }\n  },\n  emits: ['draw', 'drop-field', 'remove-area', 'scroll-to'],\n  data () {\n    return {\n      areaRefs: [],\n      showMask: false,\n      resizeDirection: null,\n      newArea: null\n    }\n  },\n  computed: {\n    defaultFieldType () {\n      if (this.drawFieldType) {\n        return this.drawFieldType\n      } else if (this.defaultDrawFieldType && this.defaultDrawFieldType !== 'text') {\n        return this.defaultDrawFieldType\n      } else if (this.fieldTypes.length !== 0 && !this.fieldTypes.includes('text')) {\n        return this.fieldTypes[0]\n      } else {\n        return 'text'\n      }\n    },\n    isMobile () {\n      return /android|iphone|ipad/i.test(navigator.userAgent)\n    },\n    resizeDirectionClasses () {\n      return {\n        nwse: 'cursor-nwse-resize',\n        ew: 'cursor-ew-resize'\n      }\n    },\n    width () {\n      return this.image.metadata.width\n    },\n    height () {\n      return this.image.metadata.height\n    }\n  },\n  beforeUpdate () {\n    this.areaRefs = []\n  },\n  methods: {\n    onImageLoad (e) {\n      e.target.setAttribute('width', e.target.naturalWidth)\n      e.target.setAttribute('height', e.target.naturalHeight)\n    },\n    setAreaRefs (el) {\n      if (el) {\n        this.areaRefs.push(el)\n      }\n    },\n    onDrop (e) {\n      this.$emit('drop-field', {\n        x: e.offsetX,\n        y: e.offsetY,\n        maskW: this.$refs.mask.clientWidth,\n        maskH: this.$refs.mask.clientHeight,\n        page: this.number\n      })\n    },\n    onStartDraw (e) {\n      if (!this.allowDraw) {\n        return\n      }\n\n      if (this.isMobile && !this.drawField) {\n        return\n      }\n\n      if (!this.editable) {\n        return\n      }\n\n      this.showMask = true\n\n      this.$nextTick(() => {\n        this.newArea = {\n          initialX: e.offsetX / this.$refs.mask.clientWidth,\n          initialY: e.offsetY / this.$refs.mask.clientHeight,\n          x: e.offsetX / this.$refs.mask.clientWidth,\n          y: e.offsetY / this.$refs.mask.clientHeight,\n          w: 0,\n          h: 0\n        }\n      })\n    },\n    onPointermove (e) {\n      if (this.newArea) {\n        const dx = e.offsetX / this.$refs.mask.clientWidth - this.newArea.initialX\n        const dy = e.offsetY / this.$refs.mask.clientHeight - this.newArea.initialY\n\n        if (dx > 0) {\n          this.newArea.x = this.newArea.initialX\n        } else {\n          this.newArea.x = e.offsetX / this.$refs.mask.clientWidth\n        }\n\n        if (dy > 0) {\n          this.newArea.y = this.newArea.initialY\n        } else {\n          this.newArea.y = e.offsetY / this.$refs.mask.clientHeight\n        }\n\n        if ((this.drawField?.type || this.drawFieldType) === 'cells') {\n          this.newArea.cell_w = this.newArea.h * (this.$refs.mask.clientHeight / this.$refs.mask.clientWidth)\n        }\n\n        this.newArea.w = Math.abs(dx)\n        this.newArea.h = Math.abs(dy)\n      }\n    },\n    onPointerup (e) {\n      if (this.newArea) {\n        const area = {\n          x: this.newArea.x,\n          y: this.newArea.y,\n          w: this.newArea.w,\n          h: this.newArea.h,\n          page: this.number\n        }\n\n        if ('cell_w' in this.newArea) {\n          area.cell_w = this.newArea.cell_w\n        }\n\n        this.$emit('draw', area)\n      }\n\n      this.showMask = false\n      this.newArea = null\n    }\n  }\n}\n</script>\n","import { render } from \"./area.vue?vue&type=template&id=4d7a4d5c\"\nimport script from \"./area.vue?vue&type=script&lang=js\"\nexport * from \"./area.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div>\n    <Page\n      v-for=\"(image, index) in sortedPreviewImages\"\n      :key=\"image.id\"\n      :ref=\"setPageRefs\"\n      :input-mode=\"inputMode\"\n      :number=\"index\"\n      :editable=\"editable\"\n      :areas=\"areasIndex[index]\"\n      :allow-draw=\"allowDraw\"\n      :is-drag=\"isDrag\"\n      :with-field-placeholder=\"withFieldPlaceholder\"\n      :default-fields=\"defaultFields\"\n      :default-submitters=\"defaultSubmitters\"\n      :draw-field=\"drawField\"\n      :draw-field-type=\"drawFieldType\"\n      :selected-submitter=\"selectedSubmitter\"\n      :image=\"image\"\n      @drop-field=\"$emit('drop-field', {...$event, attachment_uuid: document.uuid })\"\n      @remove-area=\"$emit('remove-area', $event)\"\n      @scroll-to=\"scrollToArea\"\n      @draw=\"$emit('draw', {...$event, attachment_uuid: document.uuid })\"\n    />\n  </div>\n</template>\n<script>\nimport Page from './page'\n\nexport default {\n  name: 'TemplateDocument',\n  components: {\n    Page\n  },\n  props: {\n    document: {\n      type: Object,\n      required: true\n    },\n    inputMode: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    areasIndex: {\n      type: Object,\n      required: false,\n      default: () => ({})\n    },\n    defaultFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    withFieldPlaceholder: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    drawFieldType: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    defaultSubmitters: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    allowDraw: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    selectedSubmitter: {\n      type: Object,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    drawField: {\n      type: Object,\n      required: false,\n      default: null\n    },\n    baseUrl: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    isDrag: {\n      type: Boolean,\n      required: false,\n      default: false\n    }\n  },\n  emits: ['draw', 'drop-field', 'remove-area'],\n  data () {\n    return {\n      pageRefs: []\n    }\n  },\n  computed: {\n    basePreviewUrl () {\n      if (this.baseUrl) {\n        return new URL(this.baseUrl).origin\n      } else {\n        return ''\n      }\n    },\n    numberOfPages () {\n      return this.document.metadata?.pdf?.number_of_pages || this.document.preview_images.length\n    },\n    sortedPreviewImages () {\n      const lazyloadMetadata = this.document.preview_images[this.document.preview_images.length - 1].metadata\n\n      return [...Array(this.numberOfPages).keys()].map((i) => {\n        return this.previewImagesIndex[i] || {\n          metadata: lazyloadMetadata,\n          id: Math.random().toString(),\n          url: this.basePreviewUrl + `/preview/${this.document.signed_uuid || this.document.uuid}/${i}.jpg`\n        }\n      })\n    },\n    previewImagesIndex () {\n      return this.document.preview_images.reduce((acc, e) => {\n        acc[parseInt(e.filename)] = e\n\n        return acc\n      }, {})\n    }\n  },\n  beforeUpdate () {\n    this.pageRefs = []\n  },\n  methods: {\n    scrollToArea (area) {\n      this.$nextTick(() => {\n        this.pageRefs[area.page].areaRefs.find((e) => e.area === area).$el.scrollIntoView({ behavior: 'smooth', block: 'center' })\n      })\n    },\n    setPageRefs (el) {\n      if (el) {\n        this.pageRefs.push(el)\n      }\n    }\n  }\n}\n</script>\n","import { render } from \"./page.vue?vue&type=template&id=42e85af7\"\nimport script from \"./page.vue?vue&type=script&lang=js\"\nexport * from \"./page.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./document.vue?vue&type=template&id=37dbc67a\"\nimport script from \"./document.vue?vue&type=script&lang=js\"\nexport * from \"./document.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <svg\n    height=\"40\"\n    width=\"40\"\n    version=\"1.1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n    viewBox=\"0 0 511.998 511.998\"\n    xml:space=\"preserve\"\n  >\n    <path\n      style=\"fill:#AA968C;\"\n      d=\"M503.999,247.999c0,128.13-111.033,240-248,240S8,376.129,8,247.999s111.033-224,248-224\n    S503.999,119.869,503.999,247.999z\"\n    />\n    <path\n      style=\"fill:#AA968C;\"\n      d=\"M255.999,23.999C119.033,23.999,8,119.868,8,247.999c0,24.631,4.138,48.647,11.74,71.397\n    c25.518,34.29,66.232,56.602,112.26,56.602c53.893,0,100.6-30.495,124-75.13c23.4,44.636,70.107,75.13,124,75.13\n    c46.028,0,86.743-22.312,112.26-56.602c7.602-22.75,11.74-46.767,11.74-71.397C503.999,119.868,392.966,23.999,255.999,23.999z\"\n    />\n    <circle\n      style=\"fill:#C8AF9B;\"\n      cx=\"256\"\n      cy=\"351.999\"\n      r=\"136\"\n    />\n    <g>\n      <circle\n        style=\"fill:#464655;\"\n        cx=\"132\"\n        cy=\"203.999\"\n        r=\"28\"\n      />\n      <circle\n        style=\"fill:#464655;\"\n        cx=\"380\"\n        cy=\"203.999\"\n        r=\"28\"\n      />\n      <path\n        style=\"fill:#464655;\"\n        d=\"M269.949,284.516c-7.672,10.741-20.227,10.741-27.899,0l-12.101-16.941\n      c-7.672-10.741-3.15-19.53,10.05-19.53h32c13.2,0,17.723,8.788,10.05,19.53L269.949,284.516z\"\n      />\n    </g>\n    <path\n      style=\"fill:#AA968C;\"\n      d=\"M 350.964 399.998 C 316.628 399.998 299.021 351.998 255.882 351.998 C 212.742 351.998 195.135 399.998 160.801 399.998 C 145.395 399.998 131.723 394.147 120.621 374.798 C 131.595 439.03 187.893 487.998 255.881 487.998 C 323.868 487.998 380.168 439.03 391.14 374.798 C 380.04 394.148 366.368 399.998 350.964 399.998 Z\"\n    />\n    <g>\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M32,423.998c-3.172,0-6.18-1.906-7.43-5.031c-1.641-4.105,0.359-8.758,4.461-10.402l160.008-64\n      c4.062-1.617,8.758,0.352,10.398,4.457s-0.359,8.758-4.461,10.402l-160.008,64C34,423.811,32.992,423.998,32,423.998z\"\n      />\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M15.992,375.995c-3.547,0-6.781-2.375-7.727-5.965c-1.125-4.273,1.422-8.648,5.695-9.773l152-40\n      c4.289-1.121,8.648,1.426,9.773,5.703c1.125,4.273-1.422,8.648-5.695,9.773l-152,40C17.351,375.913,16.672,375.995,15.992,375.995z\n      \"\n      />\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M7.992,335.995c-3.812,0-7.187-2.73-7.867-6.609c-0.773-4.352,2.133-8.5,6.484-9.27l136-24\n      c4.328-0.77,8.508,2.141,9.266,6.488c0.773,4.352-2.133,8.5-6.484,9.27l-136,24C8.922,335.956,8.453,335.995,7.992,335.995z\"\n      />\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M480,423.998c3.172,0,6.18-1.906,7.43-5.031c1.641-4.105-0.359-8.758-4.461-10.402l-160.008-64\n      c-4.063-1.617-8.758,0.352-10.398,4.457s0.359,8.758,4.461,10.402l160.008,64C478,423.811,479.007,423.998,480,423.998z\"\n      />\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M496.007,375.995c3.547,0,6.781-2.375,7.727-5.965c1.125-4.273-1.422-8.648-5.695-9.773l-152-40\n      c-4.289-1.121-8.648,1.426-9.773,5.703c-1.125,4.273,1.422,8.648,5.695,9.773l152,40\n      C494.648,375.913,495.328,375.995,496.007,375.995z\"\n      />\n      <path\n        style=\"fill:#8C7873;\"\n        d=\"M504.007,335.995c3.813,0,7.188-2.73,7.867-6.609c0.773-4.352-2.133-8.5-6.484-9.27l-136-24\n      c-4.328-0.77-8.508,2.141-9.266,6.488c-0.773,4.352,2.133,8.5,6.484,9.27l136,24C503.078,335.956,503.546,335.995,504.007,335.995z\n      \"\n      />\n    </g>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'ProjectLogo'\n}\n</script>\n","import { render } from \"./logo.vue?vue&type=template&id=1b879302\"\nimport script from \"./logo.vue?vue&type=script&lang=js\"\nexport * from \"./logo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div>\n    <div class=\"relative\">\n      <img\n        :src=\"previewImage.url\"\n        :width=\"previewImage.metadata.width\"\n        :height=\"previewImage.metadata.height\"\n        class=\"rounded border\"\n        loading=\"lazy\"\n      >\n      <div\n        class=\"group flex justify-end cursor-pointer top-0 bottom-0 left-0 right-0 absolute p-1\"\n        @click=\"$emit('scroll-to', item)\"\n      >\n        <div\n          v-if=\"editable\"\n          class=\"flex justify-between w-full\"\n        >\n          <div style=\"width: 26px\" />\n          <div class=\"\">\n            <ReplaceButton\n              v-if=\"withReplaceButton\"\n              :template-id=\"template.id\"\n              :accept-file-types=\"acceptFileTypes\"\n              class=\"opacity-0 group-hover:opacity-100\"\n              @click.stop\n              @success=\"$emit('replace', { replaceSchemaItem: item, ...$event })\"\n            />\n          </div>\n          <div\n            class=\"flex flex-col justify-between opacity-0 group-hover:opacity-100\"\n          >\n            <div>\n              <button\n                class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n                style=\"width: 24px; height: 24px\"\n                @click.stop=\"$emit('remove', item)\"\n              >\n                &times;\n              </button>\n            </div>\n            <div\n              v-if=\"withArrows\"\n              class=\"flex flex-col space-y-1\"\n            >\n              <button\n                class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n                style=\"width: 24px; height: 24px\"\n                @click.stop=\"$emit('up', item)\"\n              >\n                &uarr;\n              </button>\n              <button\n                class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n                style=\"width: 24px; height: 24px\"\n                @click.stop=\"$emit('down', item)\"\n              >\n                &darr;\n              </button>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class=\"flex pb-2 pt-1.5\">\n      <Contenteditable\n        :model-value=\"item.name\"\n        :icon-width=\"16\"\n        :editable=\"editable\"\n        style=\"max-width: 95%\"\n        class=\"mx-auto\"\n        @update:model-value=\"onUpdateName\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport Contenteditable from './contenteditable'\nimport Upload from './upload'\nimport ReplaceButton from './replace'\n\nexport default {\n  name: 'DocumentPreview',\n  components: {\n    Contenteditable,\n    ReplaceButton\n  },\n  props: {\n    item: {\n      type: Object,\n      required: true\n    },\n    template: {\n      type: Object,\n      required: true\n    },\n    document: {\n      type: Object,\n      required: true\n    },\n    editable: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    },\n    withReplaceButton: {\n      type: Boolean,\n      required: true,\n      default: true\n    },\n    withArrows: {\n      type: Boolean,\n      required: false,\n      default: true\n    }\n  },\n  emits: ['scroll-to', 'change', 'remove', 'up', 'down', 'replace'],\n  computed: {\n    previewImage () {\n      return [...this.document.preview_images].sort((a, b) => parseInt(a.filename) - parseInt(b.filename))[0]\n    }\n  },\n  methods: {\n    upload: Upload.methods.upload,\n    onUpdateName (value) {\n      this.item.name = value\n\n      this.$emit('change')\n    }\n  }\n}\n</script>\n","<template>\n  <label\n    :for=\"inputId\"\n    class=\"btn btn-neutral btn-xs text-white transition-none\"\n    :class=\"{ 'opacity-100': isLoading || isProcessing }\"\n  >\n    {{ message }}\n    <form\n      ref=\"form\"\n      class=\"hidden\"\n    >\n      <input\n        :id=\"inputId\"\n        ref=\"input\"\n        name=\"files[]\"\n        type=\"file\"\n        :accept=\"acceptFileTypes\"\n        @change=\"upload\"\n      >\n    </form>\n  </label>\n</template>\n\n<script>\nimport Upload from './upload'\n\nexport default {\n  name: 'ReplaceDocument',\n  inject: ['baseFetch', 't'],\n  props: {\n    templateId: {\n      type: [Number, String],\n      required: true\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    }\n  },\n  emits: ['success'],\n  data () {\n    return {\n      isLoading: false,\n      isProcessing: false\n    }\n  },\n  computed: {\n    inputId () {\n      return 'el' + Math.random().toString(32).split('.')[1]\n    },\n    message () {\n      if (this.isLoading) {\n        return this.t('uploading_')\n      } else if (this.isProcessing) {\n        return this.t('processing_')\n      } else {\n        return this.t('replace')\n      }\n    }\n  },\n  methods: {\n    upload: Upload.methods.upload\n  }\n}\n</script>\n","import { render } from \"./replace.vue?vue&type=template&id=358afada\"\nimport script from \"./replace.vue?vue&type=script&lang=js\"\nexport * from \"./replace.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./preview.vue?vue&type=template&id=257dbda3\"\nimport script from \"./preview.vue?vue&type=script&lang=js\"\nexport * from \"./preview.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"flex space-x-2\">\n    <Contenteditable\n      class=\"w-full block mr-6\"\n      :model-value=\"item.name\"\n      :icon-width=\"16\"\n      @update:model-value=\"onUpdateName\"\n    />\n    <ReplaceButton\n      v-if=\"withReplaceButton\"\n      :template-id=\"template.id\"\n      :accept-file-types=\"acceptFileTypes\"\n      @click.stop\n      @success=\"$emit('replace', { replaceSchemaItem: item, ...$event })\"\n    />\n    <button\n      v-if=\"withArrows\"\n      class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n      style=\"width: 24px; height: 24px\"\n      @click.stop=\"$emit('up', item)\"\n    >\n      &uarr;\n    </button>\n    <button\n      v-if=\"withArrows\"\n      class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n      style=\"width: 24px; height: 24px\"\n      @click.stop=\"$emit('down', item)\"\n    >\n      &darr;\n    </button>\n    <button\n      class=\"btn border-base-200 bg-white text-base-content btn-xs rounded hover:text-base-100 hover:bg-base-content hover:border-base-content w-full transition-colors\"\n      style=\"width: 24px; height: 24px\"\n      @click.stop=\"$emit('remove', item)\"\n    >\n      &times;\n    </button>\n  </div>\n</template>\n\n<script>\nimport Contenteditable from './contenteditable'\nimport Upload from './upload'\nimport ReplaceButton from './replace'\n\nexport default {\n  name: 'DocumentControls',\n  components: {\n    Contenteditable,\n    ReplaceButton\n  },\n  props: {\n    item: {\n      type: Object,\n      required: true\n    },\n    template: {\n      type: Object,\n      required: true\n    },\n    document: {\n      type: Object,\n      required: true\n    },\n    acceptFileTypes: {\n      type: String,\n      required: false,\n      default: 'image/*, application/pdf'\n    },\n    withReplaceButton: {\n      type: Boolean,\n      required: true,\n      default: true\n    },\n    withArrows: {\n      type: Boolean,\n      required: false,\n      default: true\n    }\n  },\n  emits: ['change', 'remove', 'up', 'down', 'replace'],\n  methods: {\n    upload: Upload.methods.upload,\n    onUpdateName (value) {\n      this.item.name = value\n\n      this.$emit('change')\n    }\n  }\n}\n</script>\n","import { render } from \"./controls.vue?vue&type=template&id=ae7276d6\"\nimport script from \"./controls.vue?vue&type=script&lang=js\"\nexport * from \"./controls.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <span\n    class=\"dropdown dropdown-top dropdown-end absolute bottom-4 right-4 z-10 md:hidden\"\n  >\n    <label\n      class=\"btn btn-neutral text-white btn-circle btn-lg group\"\n      tabindex=\"0\"\n    >\n      <IconPlus\n        class=\"group-focus:hidden\"\n        width=\"28\"\n        height=\"28\"\n      />\n      <IconX\n        class=\"hidden group-focus:inline\"\n        width=\"28\"\n        height=\"28\"\n      />\n    </label>\n    <ul\n      tabindex=\"0\"\n      class=\"dropdown-content menu menu-xs p-2 shadow rounded-box w-52 z-10 mb-3 mt-1.5 bg-base-100\"\n      @click=\"closeDropdown\"\n    >\n      <template v-if=\"submitterDefaultFields.length\">\n        <template\n          v-for=\"field in submitterDefaultFields\"\n          :key=\"field.name\"\n        >\n          <li>\n            <a\n              href=\"#\"\n              class=\"text-sm py-1 px-2\"\n              @click.prevent=\"$emit('select', { name: field.name || '', type: field.type || 'text' })\"\n            >\n              <component\n                :is=\"fieldIcons[field.type || 'text']\"\n                :stroke-width=\"1.6\"\n                :width=\"20\"\n              />\n              {{ field.title || field.name }}\n              <span\n                v-if=\"defaultRequiredFields.includes(field)\"\n                :data-tip=\"t('required')\"\n                class=\"text-red-400 text-2xl tooltip tooltip-left h-6\"\n              >\n                *\n              </span>\n            </a>\n          </li>\n        </template>\n      </template>\n      <template v-else>\n        <template\n          v-for=\"(icon, type) in fieldIconsSorted\"\n          :key=\"type\"\n        >\n          <li v-if=\"(fieldTypes.length === 0 || fieldTypes.includes(type)) && (withPhone || type != 'phone') && (withPayment || type != 'payment')\">\n            <a\n              href=\"#\"\n              class=\"text-sm py-1 px-2\"\n              :class=\"{ 'active': type === modelValue }\"\n              @click.prevent=\"$emit('select', { type })\"\n            >\n              <component\n                :is=\"icon\"\n                :stroke-width=\"1.6\"\n                :width=\"20\"\n              />\n              {{ fieldNames[type] }}\n            </a>\n          </li>\n        </template>\n      </template>\n    </ul>\n  </span>\n</template>\n<script>\nimport { IconPlus, IconX } from '@tabler/icons-vue'\nimport FieldType from './field_type'\n\nexport default {\n  name: 'MobileFields',\n  components: {\n    IconPlus,\n    IconX\n  },\n  inject: ['withPhone', 'withPayment', 'backgroundColor', 't'],\n  props: {\n    modelValue: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    fields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    selectedSubmitter: {\n      type: Object,\n      required: true\n    },\n    fieldTypes: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    defaultRequiredFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    },\n    defaultFields: {\n      type: Array,\n      required: false,\n      default: () => []\n    }\n  },\n  emits: ['select'],\n  computed: {\n    ...FieldType.computed,\n    submitterFields () {\n      return this.fields.filter((f) => f.submitter_uuid === this.selectedSubmitter.uuid)\n    },\n    submitterDefaultFields () {\n      return this.defaultFields.filter((f) => {\n        return (!f.role || f.role === this.selectedSubmitter.name)\n      })\n    }\n  },\n  methods: {\n    closeDropdown () {\n      document.activeElement.blur()\n    }\n  }\n}\n</script>\n","import { render } from \"./mobile_fields.vue?vue&type=template&id=3694af8d\"\nimport script from \"./mobile_fields.vue?vue&type=script&lang=js\"\nexport * from \"./mobile_fields.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","const en = {\n  editable: 'Editable',\n  search_field: 'Search field',\n  field_not_found: 'Field not found',\n  clear: 'Clear',\n  align: 'Align',\n  add_all_required_fields_to_continue: 'Add all required fields to continue',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'Uploaded PDF contains form fields. Keep or remove them?',\n  keep: 'Keep',\n  left: 'Left',\n  heading: 'Heading',\n  validation: 'Validation',\n  add_blank_page: 'Add blank page',\n  right: 'Right',\n  center: 'Center',\n  description: 'Description',\n  display_title: 'Display title',\n  with_logo: 'With logo',\n  unchecked: 'Unchecked',\n  price: 'Price',\n  type_value: 'Type value',\n  equal: 'Equal',\n  not_equal: 'Not equal',\n  contains: 'Contains',\n  does_not_contain: 'Does not contain',\n  not_empty: 'Not empty',\n  empty: 'Empty',\n  select_field_: 'Select field...',\n  select_value_: 'Select value...',\n  remove_condition: 'Remove condition',\n  add_condition: 'Add condition',\n  are_you_sure: 'Are you sure?',\n  sign_yourself: 'Sign Yourself',\n  set_signing_date: 'Set signing date',\n  signing_date: 'Signing Date',\n  send: 'Send',\n  remove: 'Remove',\n  edit: 'Edit',\n  settings: 'Settings',\n  up: 'Up',\n  down: 'Down',\n  checked: 'Checked',\n  save: 'Save',\n  cancel: 'Cancel',\n  any: 'Any',\n  drawn: 'Drawn',\n  formula: 'Formula',\n  typed: 'Typed',\n  draw_field_on_the_document: 'Draw {field} field on the document',\n  click_to_upload: 'Click to upload',\n  or_drag_and_drop_files: 'or drag and drop files',\n  uploading: 'Uploading',\n  processing_: 'Processing...',\n  add_pdf_documents_or_images: 'Add PDF documents or images',\n  add_documents_or_images: 'Add documents or images',\n  required: 'Required',\n  default_value: 'Default value',\n  format: 'Format',\n  read_only: 'Read-only',\n  page: 'Page',\n  draw_new_area: 'Draw New Area',\n  copy_to_all_pages: 'Copy to All Pages',\n  add_option: 'Add option',\n  option: 'Option',\n  condition: 'Condition',\n  first_party: 'First Party',\n  second_party: 'Second Party',\n  third_party: 'Third Party',\n  fourth_party: 'Fourth Party',\n  fifth_party: 'Fifth Party',\n  sixth_party: 'Sixth Party',\n  seventh_party: 'Seventh Party',\n  eighth_party: 'Eighth Party',\n  ninth_party: 'Ninth Party',\n  tenth_party: 'Tenth Party',\n  eleventh_party: 'Eleventh Party',\n  twelfth_party: 'Twelfth Party',\n  thirteenth_party: 'Thirteenth Party',\n  fourteenth_party: 'Fourteenth Party',\n  fifteenth_party: 'Fifteenth Party',\n  sixteenth_party: 'Sixteenth Party',\n  seventeenth_party: 'Seventeenth Party',\n  eighteenth_party: 'Eighteenth Party',\n  nineteenth_party: 'Nineteenth Party',\n  twentieth_party: 'Twentieth Party',\n  draw: 'Draw',\n  add: 'Add',\n  or_add_field_without_drawing: 'Or add field without drawing',\n  text: 'Text',\n  number: 'Number',\n  signature: 'Signature',\n  initials: 'Initials',\n  date: 'Date',\n  image: 'Image',\n  file: 'File',\n  select: 'Select',\n  checkbox: 'Checkbox',\n  multiple: 'Multiple',\n  radio: 'Radio',\n  cells: 'Cells',\n  stamp: 'Stamp',\n  payment: 'Payment',\n  phone: 'Phone',\n  field: 'Field',\n  group: 'Group',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Draw a text field on the page with a mouse',\n  drag_and_drop_any_other_field_type_on_the_page: 'Drag & drop any other field type on the page',\n  click_on_the_field_type_above_to_start_drawing_it: 'Click on the field type above to start drawing it',\n  please_draw_fields_to_prepare_the_document: 'Please draw fields to prepare the document.',\n  only_pdf_and_images_are_supported: 'Only PDF and images are supported.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Unlock SMS-verified phone number field with paid plan. Use text field for phone numbers without verification.',\n  available_only_in_pro: 'Available only in Pro',\n  failed_to_download_files: 'Failed to download files',\n  signature_is_too_small_please_redraw: 'Signature is too small - please redraw.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Please add fields for the {submitter_name}. Or, remove the {submitter_name} if not needed.',\n  draw_field: 'Draw {field} Field',\n  replace: 'Replace',\n  uploading_: 'Uploading...',\n  add_document: 'Add Document',\n  none: 'None',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'Email',\n  url: 'URL',\n  zip: 'ZIP',\n  custom: 'Custom',\n  numbers_only: 'Numbers only',\n  letters_only: 'Letters only',\n  regexp_validation: 'Regexp validation',\n  enter_pdf_password: 'Enter PDF password',\n  wrong_password: 'Wrong password',\n  currency: 'Currency',\n  save_and_preview: 'Save and Preview',\n  preferences: 'Preferences',\n  available_in_pro: 'Available in Pro',\n  some_fields_are_missing_in_the_formula: 'Some fields are missing in the formula.',\n  learn_more: 'Learn more'\n}\n\nconst es = {\n  editable: 'Editable',\n  search_field: 'Campo de búsqueda',\n  field_not_found: 'Campo no encontrado',\n  clear: 'Borrar',\n  type_value: 'Escriba valor',\n  align: 'Alinear',\n  add_all_required_fields_to_continue: 'Agregar todos los campos requeridos para continuar',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'El PDF cargado tiene campos. ¿Mantenerlos o eliminarlos?',\n  keep: 'Mantener',\n  left: 'Izquierda',\n  heading: 'Encabezado',\n  validation: 'Validación',\n  add_blank_page: 'Agregar página en blanco',\n  right: 'Derecha',\n  center: 'Centro',\n  with_logo: 'Con logotipo',\n  description: 'Descripción',\n  signing_date: 'Fecha de Firma',\n  display_title: 'Título de visualización',\n  unchecked: 'No marcado',\n  price: 'Precio',\n  equal: 'Igual',\n  not_equal: 'No es igual',\n  contains: 'Contiene',\n  does_not_contain: 'No contiene',\n  not_empty: 'No vacío',\n  empty: 'Vacío',\n  select_field_: 'Seleccionar campo...',\n  select_value_: 'Seleccionar valor...',\n  remove_condition: 'Eliminar condición',\n  add_condition: 'Agregar condición',\n  condition: 'Condición',\n  formula: 'Fórmula',\n  edit: 'Editar',\n  settings: 'Configuración',\n  up: 'Arriba',\n  down: 'Abajo',\n  set_signing_date: 'Establecer fecha de firma',\n  are_you_sure: '¿Estás seguro?',\n  sign_yourself: 'Firma tú mismo',\n  checked: 'Seleccionado',\n  send: 'Enviar',\n  remove: 'Eliminar',\n  save: 'Guardar',\n  cancel: 'Cancelar',\n  or_add_field_without_drawing: 'O añadir campo sin dibujar',\n  draw_field_on_the_document: 'Dibujar campo {field} en el documento',\n  click_to_upload: 'Haz clic para cargar',\n  or_drag_and_drop_files: 'o arrastra y suelta archivos',\n  uploading: 'Subiendo',\n  processing_: 'Procesando...',\n  add_pdf_documents_or_images: 'Agregar documentos PDF o imágenes',\n  add_documents_or_images: 'Agregar documentos o imágenes',\n  required: 'Requerido',\n  default_value: 'Valor predeterminado',\n  format: 'Formato',\n  read_only: 'Solo lectura',\n  page: 'Página',\n  draw_new_area: 'Dibujar nueva área',\n  copy_to_all_pages: 'Copiar a todas las páginas',\n  add_option: 'Agregar opción',\n  option: 'Opción',\n  first_party: 'Primera Parte',\n  second_party: 'Segunda Parte',\n  third_party: 'Tercera Parte',\n  fourth_party: 'Cuarta Parte',\n  fifth_party: 'Quinta Parte',\n  sixth_party: 'Sexta Parte',\n  seventh_party: 'Séptima Parte',\n  eighth_party: 'Octava Parte',\n  ninth_party: 'Novena Parte',\n  tenth_party: 'Décima Parte',\n  eleventh_party: 'Undécimo Partido',\n  twelfth_party: 'Duodécimo Partido',\n  thirteenth_party: 'Decimotercer Partido',\n  fourteenth_party: 'Catorceavo Partido',\n  fifteenth_party: 'Quinceavo Partido',\n  sixteenth_party: 'Dieciséisavo Partido',\n  seventeenth_party: 'Diecisieteavo Partido',\n  eighteenth_party: 'Dieciochoavo Partido',\n  nineteenth_party: 'Decimonovena Fiesta',\n  twentieth_party: 'Vigésima Fiesta',\n  draw: 'Dibujar',\n  add: 'Agregar',\n  text: 'Texto',\n  signature: 'Firma',\n  initials: 'Iniciales',\n  date: 'Fecha',\n  number: 'Número',\n  image: 'Imagen',\n  file: 'Archivo',\n  select: 'Seleccionar',\n  checkbox: 'Casilla',\n  multiple: 'Múltiple',\n  field: 'Campo',\n  group: 'Grupo',\n  radio: 'Radio',\n  cells: 'Celdas',\n  stamp: 'Sello',\n  payment: 'Pago',\n  phone: 'Teléfono',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Dibujar un campo de texto en la página con el mouse',\n  drag_and_drop_any_other_field_type_on_the_page: 'Arrastra y suelta cualquier otro tipo de campo en la página',\n  click_on_the_field_type_above_to_start_drawing_it: 'Haz clic en el tipo de campo de arriba para comenzar a dibujarlo',\n  please_draw_fields_to_prepare_the_document: 'Por favor, dibuja los campos para preparar el documento.',\n  only_pdf_and_images_are_supported: 'Solo se admiten PDF e imágenes.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Desbloquea el campo de número de teléfono verificado por SMS con un plan pago. Usa el campo de texto para números de teléfono sin verificación.',\n  available_only_in_pro: 'Disponible solo en Pro',\n  failed_to_download_files: 'Error al descargar los archivos',\n  signature_is_too_small_please_redraw: 'La firma es demasiado pequeña. Por favor, dibújala de nuevo.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Por favor, añade campos para {submitter_name} o elimina {submitter_name} si no es necesario.',\n  draw_field: 'Dibujar campo {field}',\n  replace: 'Reemplazar',\n  uploading_: 'Subiendo...',\n  add_document: 'Subir',\n  any: 'Cualquier',\n  drawn: 'Dibujado',\n  typed: 'Escrito',\n  none: 'Ninguno',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'Correo electrónico',\n  url: 'URL',\n  zip: 'ZIP',\n  custom: 'Personalizado',\n  numbers_only: 'Solo números',\n  letters_only: 'Solo letras',\n  regexp_validation: 'Validación de expresión regular',\n  enter_pdf_password: 'Ingrese la contraseña del PDF',\n  wrong_password: 'Contraseña incorrecta',\n  currency: 'Moneda',\n  save_and_preview: 'Guardar y previsualizar',\n  preferences: 'Preferencias',\n  available_in_pro: 'Disponible en Pro',\n  some_fields_are_missing_in_the_formula: 'Faltan algunos campos en la fórmula.',\n  learn_more: 'Aprende más'\n}\n\nconst it = {\n  editable: 'Modificabile',\n  search_field: 'Campo di ricerca',\n  field_not_found: 'Campo non trovato',\n  clear: 'Cancella',\n  align: 'Allinea',\n  add_all_required_fields_to_continue: 'Aggiungi tutti i campi obbligatori per continuare',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'Il PDF caricato contiene campi del modulo. Mantenerli o rimuoverli?',\n  keep: 'Mantieni',\n  left: 'Sinistra',\n  heading: 'Intestazione',\n  validation: 'Validazione',\n  add_blank_page: 'Aggiungi pagina vuota',\n  right: 'Destra',\n  center: 'Centro',\n  description: 'Descrizione',\n  display_title: 'Mostra titolo',\n  with_logo: 'Con logo',\n  unchecked: 'Non selezionato',\n  price: 'Prezzo',\n  type_value: 'Inserisci valore',\n  equal: 'Uguale',\n  not_equal: 'Non uguale',\n  contains: 'Contiene',\n  does_not_contain: 'Non contiene',\n  not_empty: 'Non vuoto',\n  empty: 'Vuoto',\n  select_field_: 'Seleziona campo...',\n  select_value_: 'Seleziona valore...',\n  remove_condition: 'Rimuovi condizione',\n  add_condition: 'Aggiungi condizione',\n  are_you_sure: 'Sei sicuro?',\n  sign_yourself: 'Firma te stesso',\n  set_signing_date: 'Imposta data di firma',\n  signing_date: 'Data di firma',\n  send: 'Invia',\n  remove: 'Rimuovi',\n  edit: 'Modifica',\n  settings: 'Impostazioni',\n  up: 'Su',\n  down: 'Giù',\n  checked: 'Selezionato',\n  save: 'Salva',\n  cancel: 'Annulla',\n  any: 'Qualsiasi',\n  drawn: 'Disegnato',\n  formula: 'Formula',\n  typed: 'Digitato',\n  draw_field_on_the_document: 'Disegna il campo {field} sul documento',\n  click_to_upload: 'Clicca per caricare',\n  or_drag_and_drop_files: 'o trascina e rilascia i file',\n  uploading: 'Caricamento in corso',\n  processing_: 'Elaborazione...',\n  add_pdf_documents_or_images: 'Aggiungi documenti PDF o immagini',\n  add_documents_or_images: 'Aggiungi documenti o immagini',\n  required: 'Obbligatorio',\n  default_value: 'Valore predefinito',\n  format: 'Formato',\n  read_only: 'Sola lettura',\n  page: 'Pagina',\n  draw_new_area: 'Disegna nuova area',\n  copy_to_all_pages: 'Copia in tutte le pagine',\n  add_option: 'Aggiungi opzione',\n  option: 'Opzione',\n  condition: 'Condizione',\n  first_party: 'Prima parte',\n  second_party: 'Seconda parte',\n  third_party: 'Terza parte',\n  fourth_party: 'Quarta parte',\n  fifth_party: 'Quinta parte',\n  sixth_party: 'Sesta parte',\n  seventh_party: 'Settima parte',\n  eighth_party: 'Ottava parte',\n  ninth_party: 'Nona parte',\n  tenth_party: 'Decima parte',\n  eleventh_party: 'Undicesima parte',\n  twelfth_party: 'Dodicesima parte',\n  thirteenth_party: 'Tredicesima parte',\n  fourteenth_party: 'Quattordicesima parte',\n  fifteenth_party: 'Quindicesima parte',\n  sixteenth_party: 'Sedicesima parte',\n  seventeenth_party: 'Diciassettesima parte',\n  eighteenth_party: 'Diciottesima parte',\n  nineteenth_party: 'Diciannovesima parte',\n  twentieth_party: 'Ventesima parte',\n  draw: 'Disegna',\n  add: 'Aggiungi',\n  or_add_field_without_drawing: 'Oppure aggiungi campo senza disegno',\n  text: 'Testo',\n  number: 'Numero',\n  signature: 'Firma',\n  initials: 'Iniziali',\n  date: 'Data',\n  image: 'Immagine',\n  file: 'File',\n  select: 'Seleziona',\n  checkbox: 'Casella di controllo',\n  multiple: 'Multiplo',\n  radio: 'Radio',\n  cells: 'Celle',\n  stamp: 'Timbro',\n  payment: 'Pagamento',\n  phone: 'Telefono',\n  field: 'Campo',\n  group: 'Gruppo',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Disegna un campo di testo sulla pagina con il mouse',\n  drag_and_drop_any_other_field_type_on_the_page: 'Trascina e rilascia qualsiasi altro tipo di campo sulla pagina',\n  click_on_the_field_type_above_to_start_drawing_it: 'Clicca sul tipo di campo sopra per iniziare a disegnarlo',\n  please_draw_fields_to_prepare_the_document: 'Per favore, disegna i campi per preparare il documento.',\n  only_pdf_and_images_are_supported: 'Sono supportati solo PDF e immagini.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Sblocca il campo numero di telefono verificato tramite SMS con un piano a pagamento. Usa il campo di testo per numeri di telefono senza verifica.',\n  available_only_in_pro: 'Disponibile solo in Pro',\n  failed_to_download_files: 'Impossibile scaricare i file',\n  signature_is_too_small_please_redraw: 'La firma è troppo piccola. Ridisegnala per favore.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Aggiungi campi per {submitter_name} o rimuovi {submitter_name} se non necessario.',\n  draw_field: 'Disegna il campo {field}',\n  replace: 'Sostituisci',\n  uploading_: 'Caricamento in corso...',\n  add_document: 'Aggiungi',\n  none: 'Nessuno',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'Email',\n  url: 'URL',\n  zip: 'CAP',\n  custom: 'Personalizzato',\n  numbers_only: 'Solo numeri',\n  letters_only: 'Solo lettere',\n  regexp_validation: 'Validazione regexp',\n  enter_pdf_password: 'Inserisci password PDF',\n  wrong_password: 'Password errata',\n  currency: 'Valuta',\n  save_and_preview: 'Salva e Anteprima',\n  preferences: 'Preferenze',\n  available_in_pro: 'Disponibile in Pro',\n  some_fields_are_missing_in_the_formula: 'Alcuni campi mancano nella formula.',\n  learn_more: 'Scopri di più'\n}\n\nconst pt = {\n  editable: 'Editável',\n  search_field: 'Campo de busca',\n  field_not_found: 'Campo não encontrado',\n  clear: 'Limpar',\n  type_value: 'Digite valor',\n  add_all_required_fields_to_continue: 'Adicione todos os campos obrigatórios para continuar',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'O PDF carregado contém campos. Manter ou removê-los?',\n  keep: 'Manter',\n  align: 'Alinhar',\n  left: 'Esquerda',\n  heading: 'Cabeçalho',\n  validation: 'Validação',\n  add_blank_page: 'Adicionar página em branco',\n  right: 'Direita',\n  center: 'Centro',\n  with_logo: 'Com logotipo',\n  description: 'Descrição',\n  display_title: 'Título de exibição',\n  signing_date: 'Data da Assinatura',\n  unchecked: 'Não marcado',\n  price: 'Preço',\n  equal: 'Igual',\n  not_equal: 'Não é igual',\n  contains: 'Contém',\n  does_not_contain: 'Não contém',\n  not_empty: 'Não vazio',\n  empty: 'Vazio',\n  add_condition: 'Adicionar condição',\n  select_field_: 'Selecionar campo...',\n  select_value_: 'Selecionar valor...',\n  remove_condition: 'Remover condição',\n  condition: 'Condição',\n  formula: 'Fórmula',\n  edit: 'Editar',\n  settings: 'Configurações',\n  up: 'Para cima',\n  down: 'Para baixo',\n  set_signing_date: 'Definir data de assinatura',\n  are_you_sure: 'Tem certeza?',\n  sign_yourself: 'Assine você mesmo',\n  checked: 'Marcado',\n  send: 'Enviar',\n  remove: 'Remover',\n  save: 'Salvar',\n  cancel: 'Cancelar',\n  or_add_field_without_drawing: 'Ou adicione campo sem desenhar',\n  draw_field_on_the_document: 'Desenhar campo {field} no documento',\n  click_to_upload: 'Clique para enviar',\n  or_drag_and_drop_files: 'ou arraste e solte arquivos',\n  uploading: 'Carregando',\n  processing_: 'Processando...',\n  add_pdf_documents_or_images: 'Adicionar documentos PDF ou imagens',\n  add_documents_or_images: 'Adicionar documentos ou imagens',\n  required: 'Obrigatório',\n  default_value: 'Valor padrão',\n  format: 'Formato',\n  read_only: 'Somente leitura',\n  page: 'Página',\n  draw_new_area: 'Desenhar nova área',\n  copy_to_all_pages: 'Copiar para todas as páginas',\n  add_option: 'Adicionar opção',\n  option: 'Opção',\n  first_party: 'Primeira Parte',\n  second_party: 'Segunda Parte',\n  third_party: 'Terceira Parte',\n  fourth_party: 'Quarta Parte',\n  fifth_party: 'Quinta Parte',\n  sixth_party: 'Sexta Parte',\n  seventh_party: 'Sétima Parte',\n  eighth_party: 'Oitava Parte',\n  ninth_party: 'Nona Parte',\n  tenth_party: 'Décima Parte',\n  eleventh_party: 'Décima Primeira Parte',\n  twelfth_party: 'Décima Segunda Parte',\n  thirteenth_party: 'Décima Terceira Parte',\n  fourteenth_party: 'Décima Quarta Parte',\n  fifteenth_party: 'Décima Quinta Parte',\n  sixteenth_party: 'Décima Sexta Parte',\n  seventeenth_party: 'Décima Sétima Parte',\n  eighteenth_party: 'Décima Oitava Parte',\n  nineteenth_party: 'Décima Nona Parte',\n  twentieth_party: 'Vigésima Parte',\n  draw: 'Desenhar',\n  add: 'Adicionar',\n  text: 'Texto',\n  signature: 'Assinatura',\n  initials: 'Rúbrica',\n  date: 'Data',\n  number: 'Número',\n  image: 'Imagem',\n  file: 'Arquivo',\n  select: 'Selecionar',\n  checkbox: 'Caixa',\n  field: 'Campo',\n  group: 'Grupo',\n  multiple: 'Múltiplo',\n  radio: 'Rádio',\n  cells: 'Células',\n  stamp: 'Carimbo',\n  payment: 'Pagamento',\n  phone: 'Telefone',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Desenhar um campo de texto na página com o mouse',\n  drag_and_drop_any_other_field_type_on_the_page: 'Arraste e solte qualquer outro tipo de campo na página',\n  click_on_the_field_type_above_to_start_drawing_it: 'Clique no tipo de campo acima para começar a desenhá-lo',\n  please_draw_fields_to_prepare_the_document: 'Por favor, desenhe os campos para preparar o documento.',\n  only_pdf_and_images_are_supported: 'Apenas PDFs e imagens são suportados.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Desbloqueie o campo de número de telefone verificado por SMS com um plano pago. Use o campo de texto para números de telefone sem verificação.',\n  available_only_in_pro: 'Disponível apenas no Pro',\n  failed_to_download_files: 'Falha ao baixar arquivos',\n  signature_is_too_small_please_redraw: 'A assinatura é muito pequena. Por favor, redesenhe.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Adicione campos para {submitter_name} ou remova {submitter_name} se não for necessário.',\n  draw_field: 'Desenhar campo {field}',\n  replace: 'Substituir',\n  uploading_: 'Carregando...',\n  add_document: 'Enviar',\n  any: 'Qualquer',\n  drawn: 'Desenhado',\n  typed: 'Digitado',\n  none: 'Nenhum',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'Email',\n  url: 'URL',\n  zip: 'ZIP',\n  custom: 'Personalizado',\n  numbers_only: 'Somente números',\n  letters_only: 'Somente letras',\n  regexp_validation: 'Validação de expressão regular',\n  enter_pdf_password: 'Digite a senha do PDF',\n  wrong_password: 'Senha incorreta',\n  currency: 'Moeda',\n  save_and_preview: 'Salvar e Pré-visualizar',\n  preferences: 'Preferências',\n  available_in_pro: 'Disponível no Pro',\n  some_fields_are_missing_in_the_formula: 'Faltam alguns campos na fórmula.',\n  learn_more: 'Saiba mais'\n}\n\nconst fr = {\n  editable: 'Éditable',\n  search_field: 'Champ de recherche',\n  field_not_found: 'Champ non trouvé',\n  clear: 'Effacer',\n  type_value: 'Tapez la valeur',\n  add_all_required_fields_to_continue: 'Ajoutez tous les champs obligatoires pour continuer',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'Le PDF téléchargé contient des champs. Les conserver ou les supprimer?',\n  keep: 'Conserver',\n  align: 'Aligner',\n  left: 'Gauche',\n  heading: 'En-tête',\n  validation: 'Validation',\n  add_blank_page: 'Ajouter une page blanche',\n  right: 'Droite',\n  add_condition: 'Ajouter une condition',\n  center: 'Centre',\n  with_logo: 'Avec logo',\n  description: 'Description',\n  display_title: \"Titre d'affichage\",\n  unchecked: 'Non coché',\n  price: 'Prix',\n  equal: 'Égal',\n  not_equal: 'Non égal',\n  contains: 'Contient',\n  signing_date: 'Date de signature',\n  does_not_contain: 'Ne contient pas',\n  not_empty: 'Non vide',\n  empty: 'Vide',\n  select_field_: 'Sélectionner un champ...',\n  select_value_: 'Sélectionner une valeur...',\n  remove_condition: 'Supprimer la condition',\n  condition: 'Condition',\n  formula: 'Formule',\n  edit: 'Éditer',\n  settings: 'Paramètres',\n  up: 'Haut',\n  down: 'Bas',\n  set_signing_date: 'Définir la date de signature',\n  are_you_sure: 'Êtes-vous sûr ?',\n  sign_yourself: 'Signez-vous',\n  checked: 'Coché',\n  send: 'Envoyer',\n  remove: 'Supprimer',\n  save: 'Enregistrer',\n  cancel: 'Annuler',\n  draw_field_on_the_document: 'Dessinez le champ {field} sur le document',\n  click_to_upload: 'Cliquez pour télécharger',\n  or_drag_and_drop_files: 'ou faites glisser-déposer des fichiers',\n  uploading: 'Téléchargement en cours',\n  processing_: 'Traitement en cours...',\n  add_pdf_documents_or_images: 'Ajoutez des documents PDF ou des images',\n  add_documents_or_images: 'Ajoutez des documents ou des images',\n  required: 'Requis',\n  default_value: 'Valeur par défaut',\n  format: 'Format',\n  read_only: 'Lecture seule',\n  page: 'Page',\n  draw_new_area: 'Dessiner une nouvelle zone',\n  copy_to_all_pages: 'Copier sur toutes les pages',\n  add_option: 'Ajouter une option',\n  option: 'Option',\n  first_party: 'Première partie',\n  second_party: 'Deuxième partie',\n  third_party: 'Troisième partie',\n  fourth_party: 'Quatrième partie',\n  fifth_party: 'Cinquième partie',\n  sixth_party: 'Sixième partie',\n  seventh_party: 'Septième partie',\n  eighth_party: 'Huitième partie',\n  ninth_party: 'Neuvième partie',\n  tenth_party: 'Dixième partie',\n  eleventh_party: 'Onzième Parti',\n  twelfth_party: 'Douzième Parti',\n  thirteenth_party: 'Treizième Parti',\n  fourteenth_party: 'Quatorzième Parti',\n  fifteenth_party: 'Quinzième Parti',\n  sixteenth_party: 'Seizième Parti',\n  seventeenth_party: 'Dix-septième Parti',\n  eighteenth_party: 'Dix-huitième Parti',\n  nineteenth_party: 'Dix-Neuvième Fête',\n  twentieth_party: 'Vingtième Fête',\n  draw: 'Dessiner',\n  add: 'Ajouter',\n  or_add_field_without_drawing: 'Ou ajoutez un champ sans dessiner',\n  text: 'Texte',\n  signature: 'Signature',\n  initials: 'Initiales',\n  date: 'Date',\n  number: 'Numéro',\n  image: 'Image',\n  file: 'Fichier',\n  select: 'Choisir',\n  checkbox: 'Coche',\n  multiple: 'Multiple',\n  radio: 'Radio',\n  cells: 'Cellules',\n  stamp: 'Tampon',\n  payment: 'Paiement',\n  phone: 'Téléphone',\n  field: 'Champ',\n  group: 'Groupe',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Dessinez un champ texte sur la page avec une souris',\n  drag_and_drop_any_other_field_type_on_the_page: 'Glissez et déposez tout autre type de champ sur la page',\n  click_on_the_field_type_above_to_start_drawing_it: 'Cliquez sur le type de champ ci-dessus pour commencer à le dessiner',\n  please_draw_fields_to_prepare_the_document: 'Veuillez dessiner les champs pour préparer le document.',\n  only_pdf_and_images_are_supported: 'Seuls les PDF et les images sont pris en charge.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Débloquez le champ de numéro de téléphone vérifié par SMS avec un plan payant. Utilisez un champ texte pour les numéros de téléphone sans vérification.',\n  available_only_in_pro: 'Disponible uniquement en Pro',\n  failed_to_download_files: 'Échec du téléchargement des fichiers',\n  signature_is_too_small_please_redraw: 'La signature est trop petite. Veuillez la redessiner.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Veuillez ajouter des champs pour {submitter_name} ou retirer {submitter_name} si ce n\\'est pas nécessaire.',\n  draw_field: 'Dessiner le champ {field}',\n  replace: 'Remplacer',\n  uploading_: 'Téléchargement en cours...',\n  add_document: 'Télécharger',\n  any: 'Tout',\n  drawn: 'Dessiné',\n  typed: 'Tapé',\n  none: 'Aucun',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'E-mail',\n  url: 'URL',\n  zip: 'ZIP',\n  custom: 'Personnalisé',\n  numbers_only: 'Chiffres uniquement',\n  letters_only: 'Lettres uniquement',\n  regexp_validation: 'Validation par expression régulière',\n  enter_pdf_password: 'Entrez le mot de passe PDF',\n  wrong_password: 'Mot de passe incorrect',\n  currency: 'Devise',\n  save_and_preview: 'Enregistrer et prévisualiser',\n  preferences: 'Préférences',\n  available_in_pro: 'Disponible en version Pro',\n  some_fields_are_missing_in_the_formula: 'Certains champs manquent dans la formule.',\n  learn_more: 'En savoir plus'\n}\n\nconst de = {\n  editable: 'Bearbeitbar',\n  search_field: 'Suchfeld',\n  field_not_found: 'Feld nicht gefunden',\n  clear: 'Löschen',\n  type_value: 'Wert eingeben',\n  add_all_required_fields_to_continue: 'Fügen Sie alle erforderlichen Felder hinzu, um fortzufahren',\n  uploaded_pdf_contains_form_fields_keep_or_remove_them: 'Das hochgeladene PDF enthält Formularfelder. Behalten oder entfernen?',\n  keep: 'Behalten',\n  align: 'Ausrichten',\n  left: 'Links',\n  heading: 'Überschrift',\n  validation: 'Validierung',\n  add_blank_page: 'Leere Seite hinzufügen',\n  right: 'Rechts',\n  add_condition: 'Bedingung hinzufügen',\n  center: 'Zentriert',\n  with_logo: 'Mit Logo',\n  description: 'Beschreibung',\n  display_title: 'Anzeigetitel',\n  unchecked: 'Nicht überprüft',\n  price: 'Preis',\n  equal: 'Gleich',\n  not_equal: 'Ungleich',\n  contains: 'Enthält',\n  does_not_contain: 'Enthält nicht',\n  not_empty: 'Nicht leer',\n  empty: 'Leer',\n  signing_date: 'Signaturdatum',\n  select_field_: 'Feld auswählen...',\n  select_value_: 'Wert auswählen...',\n  remove_condition: 'Bedingung entfernen',\n  condition: 'Bedingung',\n  formula: 'Formel',\n  edit: 'Bearbeiten',\n  settings: 'Einstellungen',\n  up: 'Nach oben',\n  down: 'Nach unten',\n  set_signing_date: 'Unterschriftdatum festlegen',\n  are_you_sure: 'Bist du sicher?',\n  sign_yourself: 'Unterschreiben Sie selbst',\n  checked: 'Ausgewählt',\n  send: 'Senden',\n  remove: 'Entfernen',\n  save: 'Speichern',\n  cancel: 'Abbrechen',\n  draw_field_on_the_document: 'Feld {field} auf dem Dokument zeichnen',\n  click_to_upload: 'Klicken Sie zum Hochladen',\n  or_drag_and_drop_files: 'oder Dateien hierher ziehen',\n  uploading: 'Hochladen',\n  processing_: 'Verarbeitung...',\n  add_pdf_documents_or_images: 'PDF-Dokumente oder Bilder hinzufügen',\n  add_documents_or_images: 'Dokumente oder Bilder hinzufügen',\n  required: 'Erforderlich',\n  default_value: 'Standardwert',\n  format: 'Format',\n  read_only: 'Nur lesen',\n  page: 'Seite',\n  draw_new_area: 'Neuen Bereich zeichnen',\n  copy_to_all_pages: 'Auf alle Seiten kopieren',\n  add_option: 'Option hinzufügen',\n  option: 'Option',\n  first_party: 'Erste Partei',\n  second_party: 'Zweite Partei',\n  third_party: 'Dritte Partei',\n  fourth_party: 'Vierte Partei',\n  fifth_party: 'Fünfte Partei',\n  sixth_party: 'Sechste Partei',\n  seventh_party: 'Siebte Partei',\n  eighth_party: 'Achte Partei',\n  ninth_party: 'Neunte Partei',\n  tenth_party: 'Zehnte Partei',\n  eleventh_party: 'Elfte Partei',\n  twelfth_party: 'Zwölfte Partei',\n  thirteenth_party: 'Dreizehnte Partei',\n  fourteenth_party: 'Vierzehnte Partei',\n  fifteenth_party: 'Fünfzehnte Partei',\n  sixteenth_party: 'Sechzehnte Partei',\n  seventeenth_party: 'Siebzehnte Partei',\n  eighteenth_party: 'Achtzehnte Partei',\n  nineteenth_party: 'Neunzehnte Party',\n  twentieth_party: 'Zwanzigste Party',\n  draw: 'Zeichnen',\n  add: 'Hinzufügen',\n  or_add_field_without_drawing: 'Oder Feld ohne Zeichnung hinzufügen',\n  text: 'Text',\n  signature: 'Unterschrift',\n  initials: 'Initialen',\n  date: 'Datum',\n  number: 'Nummer',\n  image: 'Bild',\n  file: 'Datei',\n  select: 'Auswählen',\n  checkbox: 'Checkbox',\n  multiple: 'Mehrere',\n  radio: 'Radio',\n  cells: 'Zellen',\n  stamp: 'Stempel',\n  payment: 'Zahlung',\n  phone: 'Telefon',\n  field: 'Feld',\n  group: 'Gruppe',\n  draw_a_text_field_on_the_page_with_a_mouse: 'Textfeld auf der Seite mit der Maus zeichnen',\n  drag_and_drop_any_other_field_type_on_the_page: 'Ziehe und lasse einen anderen Feldtyp auf die Seite fallen',\n  click_on_the_field_type_above_to_start_drawing_it: 'Klicke auf den Feldtyp oben, um mit dem Zeichnen zu beginnen',\n  please_draw_fields_to_prepare_the_document: 'Bitte zeichne Felder, um das Dokument vorzubereiten.',\n  only_pdf_and_images_are_supported: 'Nur PDFs und Bilder werden unterstützt.',\n  unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification: 'Schalte das SMS-verifizierte Telefonnummernfeld mit einem kostenpflichtigen Plan frei. Verwende das Textfeld für Telefonnummern ohne Verifizierung.',\n  available_only_in_pro: 'Nur in Pro verfügbar',\n  failed_to_download_files: 'Fehler beim Herunterladen der Dateien',\n  signature_is_too_small_please_redraw: 'Die Unterschrift ist zu klein. Bitte erneut zeichnen.',\n  please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed: 'Bitte füge Felder für {submitter_name} hinzu oder entferne {submitter_name}, falls nicht erforderlich.',\n  draw_field: 'Feld {field} zeichnen',\n  replace: 'Ersetzen',\n  uploading_: 'Hochladen...',\n  add_document: 'Hochladen',\n  any: 'Jede',\n  drawn: 'Gezeichnet',\n  typed: 'Getippt',\n  none: 'Keine',\n  ssn: 'SSN',\n  ein: 'EIN',\n  email: 'E-Mail',\n  url: 'URL',\n  zip: 'ZIP',\n  custom: 'Benutzerdefiniert',\n  numbers_only: 'Nur Zahlen',\n  letters_only: 'Nur Buchstaben',\n  regexp_validation: 'Regulärer Ausdruck Überprüfung',\n  enter_pdf_password: 'Geben Sie das PDF-Passwort ein',\n  wrong_password: 'Falsches Passwort',\n  currency: 'Währung',\n  save_and_preview: 'Speichern und Vorschau',\n  preferences: 'Einstellungen',\n  available_in_pro: 'In Pro verfügbar',\n  some_fields_are_missing_in_the_formula: 'Einige Felder fehlen in der Formel.',\n  learn_more: 'Erfahren Sie mehr'\n}\n\nexport { en, es, it, pt, fr, de }\n","import { render } from \"./builder.vue?vue&type=template&id=7921143c\"\nimport script from \"./builder.vue?vue&type=script&lang=js\"\nexport * from \"./builder.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div>\n    <div v-if=\"selectedSheetIndex === null && spreadsheet\">\n      <form @submit.prevent=\"[selectedSheetIndex = $refs.selectWorksheet.value, buildDefaultMappings()]\">\n        <label class=\"label\">\n          {{ t('select_worksheet') }}\n        </label>\n        <select\n          ref=\"selectWorksheet\"\n          class=\"base-select\"\n        >\n          <option\n            v-for=\"(sheet, index) in spreadsheet\"\n            :key=\"index\"\n            :value=\"index\"\n          >\n            {{ sheet[0] || index }}\n          </option>\n        </select>\n        <button class=\"base-button mt-4 w-full\">\n          {{ t('open') }}\n        </button>\n      </form>\n    </div>\n    <div v-else-if=\"selectedSheetIndex !== null\">\n      <div\n        v-for=\"submitter in submitters\"\n        :key=\"submitter.uuid\"\n        class=\"mb-4\"\n      >\n        <div\n          v-if=\"submitters.length > 1\"\n          class=\"px-3 border-y py-2 border-base-300 text-center w-full\"\n        >\n          {{ submitter.name }}\n        </div>\n        <div class=\"flex\">\n          <div class=\"relative w-full py-2 px-2 text-sm\">\n            {{ t('recipient_field') }}\n          </div>\n          <div class=\"relative w-full py-2 pl-4 text-sm\">\n            {{ t('spreadsheet_column') }}\n          </div>\n        </div>\n        <div\n          v-for=\"mapping in mappings.filter((m) => m.submitter_uuid === submitter.uuid)\"\n          :key=\"mapping.uuid\"\n          class=\"mb-2\"\n        >\n          <div class=\"flex\">\n            <select\n              class=\"base-select !select-sm !h-10\"\n              required\n              @change=\"mapping.field_name = $event.target.value\"\n            >\n              <option\n                disabled\n                value=\"\"\n                :selected=\"!mapping.field_name\"\n              >\n                {{ t('select_field') }}\n              </option>\n              <option\n                v-for=\"(field, index) in selectFieldsForSubmitter(submitter)\"\n                :key=\"index\"\n                :value=\"field.name\"\n                :selected=\"mapping.field_name === field.name\"\n              >\n                {{ field.name }}\n              </option>\n            </select>\n            <div class=\"flex items-center px-1\">\n              <IconArrowsHorizontal style=\"width: 19px; height: 19px\" />\n            </div>\n            <div class=\"w-full relative\">\n              <select\n                class=\"base-select !select-sm !h-10\"\n                required\n                @change=\"mapping.column_index = parseInt($event.target.value)\"\n              >\n                <option\n                  disabled\n                  value=\"\"\n                  :selected=\"mapping.column_index == null\"\n                >\n                  {{ t('select_column') }}\n                </option>\n                <template\n                  v-for=\"(column, index) in columns\"\n                  :key=\"index\"\n                >\n                  <option\n                    v-if=\"column\"\n                    :value=\"index\"\n                    :selected=\"index === mapping.column_index\"\n                  >\n                    {{ column }}\n                  </option>\n                </template>\n              </select>\n              <div\n                v-if=\"mapping.column_index != null\"\n                class=\"absolute top-0 bottom-0 right-1 flex items-center\"\n              >\n                <span\n                  class=\"tooltip tooltip-bottom-end pr-1 tooltip-pre\"\n                  style=\"padding-top: 2px\"\n                  :data-tip=\"[0, 1, 2].map((i) => rows[i]?.[mapping.column_index] ?? '---').join('\\n')\"\n                >\n                  <button\n                    class=\"btn btn-xs btn-circle bg-white border-0 border-gray-300\"\n                    @click.prevent\n                  >\n                    <IconInfoCircle class=\"h-4 w-4\" />\n                  </button>\n                </span>\n              </div>\n            </div>\n            <div class=\"flex items-center pl-1\">\n              <span\n                class=\"tooltip tooltip-left\"\n                :data-tip=\"t('remove')\"\n              >\n                <button\n                  :disabled=\"mappings.filter((m) => m.submitter_uuid === submitter.uuid).length < 2\"\n                  class=\"btn btn-xs btn-circle\"\n                  @click.prevent=\"mappings.splice(mappings.indexOf(mapping), 1)\"\n                >\n                  <IconX class=\"h-3.5 w-3.5\" />\n                </button>\n              </span>\n            </div>\n          </div>\n        </div>\n        <div>\n          <button\n            class=\"btn btn-sm btn-primary w-full !normal-case font-medium\"\n            @click.prevent=\"addMapping(submitter)\"\n          >\n            <IconPlus class=\"w-4 h-4\" />\n            {{ t('new_field_mapping') }}\n          </button>\n        </div>\n      </div>\n      <div>\n        <input\n          name=\"submissions_json\"\n          hidden\n          :value=\"multitenant ? JSON.stringify(submissionsData.slice(0, 1100)) : JSON.stringify(submissionsData)\"\n        >\n      </div>\n      <div\n        class=\"px-3 border-y py-2 border-base-300 text-center w-full text-sm font-semibold\"\n      >\n        {{ t('total_entries') }}: {{ submissionsData.length }}\n        <template v-if=\"multitenant && submissionsData.length >= 1000\">\n          / 1000\n        </template>\n      </div>\n    </div>\n    <div\n      v-else\n    >\n      <div\n        class=\"flex h-52 w-full\"\n        @dragover.prevent\n        @drop.prevent=\"onDropFiles\"\n      >\n        <label\n          class=\"w-full relative bg-base-200/20  hover:bg-base-200/30 rounded-md border border-2 border-base-content/10 border-dashed\"\n          for=\"import_list_file\"\n          :class=\"{ 'opacity-50': isLoading }\"\n        >\n          <div class=\"absolute top-0 right-0 left-0 bottom-0 flex items-center justify-center\">\n            <div class=\"flex flex-col items-center\">\n              <IconInnerShadowTop\n                v-if=\"isLoading\"\n                class=\"animate-spin\"\n                :width=\"40\"\n                :height=\"40\"\n              />\n              <IconCloudUpload\n                v-else\n                :width=\"40\"\n                :height=\"40\"\n              />\n              <div\n                class=\"font-medium text-lg mb-1\"\n              >\n                {{ t('upload_csv_or_xlsx_spreadsheet') }}\n              </div>\n              <div class=\"text-sm\">\n                <span class=\"font-medium\">{{ t('click_to_upload') }}</span> {{ t('or_drag_and_drop_files') }}\n              </div>\n            </div>\n          </div>\n          <form\n            ref=\"form\"\n            class=\"hidden\"\n          >\n            <input\n              id=\"import_list_file\"\n              ref=\"input\"\n              type=\"file\"\n              name=\"file\"\n              accept=\".xlsx, .xls, .csv\"\n              @change=\"onSelectFile\"\n            >\n          </form>\n        </label>\n      </div>\n      <div class=\"text-center mt-2\">\n        {{ t('or') }} <a\n          :download=\"`${template.name}.csv`\"\n          :href=\"`data:text/csv;base64,${csvBase64}`\"\n          class=\"link font-medium\"\n        >{{ t('download') }}</a> {{ t('a_sample_spreadsheet_to_fill_and_import') }}\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { IconCloudUpload, IconX, IconPlus, IconArrowsHorizontal, IconInfoCircle, IconInnerShadowTop } from '@tabler/icons-vue'\nimport { v4 } from 'uuid'\n\nexport default {\n  name: 'FileDropzone',\n  components: {\n    IconCloudUpload,\n    IconX,\n    IconArrowsHorizontal,\n    IconPlus,\n    IconInfoCircle,\n    IconInnerShadowTop\n  },\n  props: {\n    template: {\n      type: Object,\n      required: true\n    },\n    multitenant: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    authenticityToken: {\n      type: String,\n      required: false,\n      default: ''\n    },\n    i18n: {\n      type: Object,\n      required: false,\n      default: () => ({})\n    }\n  },\n  data () {\n    return {\n      isLoading: false,\n      spreadsheet: null,\n      selectedSheetIndex: null,\n      mappings: []\n    }\n  },\n  computed: {\n    table () {\n      return this.spreadsheet[this.selectedSheetIndex][1]\n    },\n    submissionsData () {\n      const submissions = []\n\n      this.rows.forEach((row) => {\n        const submittersIndex = {}\n\n        this.mappings.forEach((mapping) => {\n          if (mapping.field_name && mapping.column_index != null) {\n            submittersIndex[mapping.submitter_uuid] ||= { uuid: mapping.submitter_uuid, fields: [] }\n\n            if (['name', 'email', 'phone', 'external_id'].includes(mapping.field_name.toLowerCase())) {\n              submittersIndex[mapping.submitter_uuid][mapping.field_name.toLowerCase()] = row[mapping.column_index]\n            }\n\n            const fieldType = this.fieldTypesIndex[mapping.submitter_uuid][mapping.field_name]\n\n            if (fieldType && fieldType !== 'phone') {\n              submittersIndex[mapping.submitter_uuid].fields.push({\n                name: mapping.field_name, default_value: row[mapping.column_index], readonly: true\n              })\n            }\n          }\n        })\n\n        if (Object.keys(submittersIndex).length !== 0) {\n          submissions.push({ submitters: Object.values(submittersIndex) })\n        }\n      })\n\n      return submissions\n    },\n    csvBase64 () {\n      const rows = []\n\n      this.submitters.forEach((submitter) => {\n        this.selectFieldsForSubmitter(submitter).forEach((field) => {\n          rows.push(this.submitters.length > 1 ? `${submitter.name} - ${field.name}` : field.name)\n        })\n      })\n\n      const csv = rows.map(item => {\n        if (/[\",\\n]/.test(item)) {\n          return `\"${item.replace(/\"/g, '\"\"')}\"`\n        } else {\n          return item\n        }\n      }).join(',')\n\n      return window.btoa(window.unescape(window.encodeURIComponent(csv + '\\n' + rows.map(() => '').join(',') + '\\n')))\n    },\n    submitters () {\n      return this.template.submitters\n    },\n    fieldTypesIndex () {\n      return this.template.fields.reduce((acc, field) => {\n        acc[field.submitter_uuid] ||= {}\n\n        if (field.name) {\n          acc[field.submitter_uuid][field.name] = field.type\n        }\n\n        return acc\n      }, {})\n    },\n    columns () {\n      return this.table[0]\n    },\n    form () {\n      return this.$el.closest('form')\n    },\n    fieldTypes () {\n      return ['text', 'cells', 'date', 'number', 'radio', 'select', 'checkbox']\n    },\n    defaultFields () {\n      return [\n        { name: 'Name' },\n        { name: 'Email' },\n        { name: 'Phone' }\n      ]\n    },\n    rows () {\n      return this.table.slice(1)\n    }\n  },\n  watch: {\n    selectedSheetIndex (value) {\n      if (value !== null) {\n        document.getElementById('list_form_buttons')?.classList?.remove('hidden')\n      }\n    }\n  },\n  methods: {\n    t (key) {\n      return this.i18n[key] || key\n    },\n    onDropFiles (e) {\n      this.uploadFile(e.dataTransfer.files[0])\n    },\n    onSelectFile (e) {\n      this.uploadFile(e.target.files[0])\n    },\n    addMapping (submitter) {\n      this.mappings.push({ uuid: v4(), field_name: '', column_index: null, submitter_uuid: submitter.uuid })\n    },\n    selectFieldsForSubmitter (submitter) {\n      const templateFields = this.template.fields.filter((field) => {\n        return field.submitter_uuid === submitter.uuid &&\n          field.name &&\n          this.fieldTypes.includes(field.type) &&\n          this.defaultFields.every((f) => field.name?.toLowerCase() !== f.name?.toLowerCase())\n      })\n\n      const fields = [...this.defaultFields, ...templateFields]\n\n      if (this.spreadsheet && this.columns.includes('external_id')) {\n        fields.push({ name: 'external_id' })\n      }\n\n      return fields\n    },\n    buildDefaultMappings () {\n      this.submitters.forEach((submitter) => {\n        const fields = this.selectFieldsForSubmitter(submitter)\n\n        fields.forEach((field) => {\n          const columnIndex = this.columns.findIndex((column, index) => {\n            return column &&\n              column.toString().toLowerCase().includes(field.name?.toLowerCase()) &&\n              this.mappings.every((m) => m.column_index !== index)\n          })\n\n          if (columnIndex !== -1) {\n            this.mappings.push({ uuid: v4(), field_name: field.name, column_index: columnIndex, submitter_uuid: submitter.uuid })\n          }\n        })\n\n        if (!this.mappings.some((m) => m.field_name.toLowerCase() === 'name' && m.submitter_uuid === submitter.uuid)) {\n          this.mappings.unshift({ uuid: v4(), field_name: 'Name', submitter_uuid: submitter.uuid })\n        }\n\n        if (!this.mappings.some((m) => m.field_name.toLowerCase() === 'email' && m.submitter_uuid === submitter.uuid)) {\n          this.mappings.unshift({ uuid: v4(), field_name: 'Email', submitter_uuid: submitter.uuid })\n        }\n      })\n    },\n    uploadFile (file) {\n      this.isLoading = true\n\n      const formData = new FormData()\n\n      formData.append('file', file)\n\n      return fetch('/upload_spreadsheet', {\n        method: 'POST',\n        body: formData,\n        headers: {\n          'X-CSRF-Token': this.authenticityToken\n        }\n      }).then(resp => resp.json()).then((data) => {\n        if (data.error) {\n          return alert(data.error)\n        }\n\n        this.spreadsheet = data\n\n        if (data.length === 1) {\n          this.selectedSheetIndex = 0\n\n          this.buildDefaultMappings()\n        }\n      }).finally(() => {\n        this.isLoading = false\n      })\n    }\n  }\n}\n</script>\n","import { render } from \"./import_list.vue?vue&type=template&id=3a910dca\"\nimport script from \"./import_list.vue?vue&type=script&lang=js\"\nexport * from \"./import_list.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { actionable } from '@github/catalyst/lib/actionable'\n\nexport default actionable(class extends HTMLElement {\n  trigger (event) {\n    const elementIds = JSON.parse(this.dataset.elementIds)\n\n    elementIds.forEach((elementId) => {\n      document.getElementById(elementId).classList.toggle('hidden', event.target.value !== elementId)\n    })\n  }\n})\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.button.addEventListener('click', () => {\n      const expirationDate = new Date()\n\n      expirationDate.setFullYear(expirationDate.getFullYear() + 10)\n\n      const expires = expirationDate.toUTCString()\n\n      document.cookie = this.dataset.key + '=' + this.dataset.value + '; expires=' + expires + '; path=/'\n    })\n  }\n\n  get button () {\n    return this.querySelector('button')\n  }\n}\n","export default class extends HTMLElement {\n  static observedAttributes = ['class']\n\n  connectedCallback () {\n    this.trigger()\n  }\n\n  attributeChangedCallback (attributeName, oldValue, newValue) {\n    if (attributeName === 'class' && oldValue !== newValue) {\n      this.trigger()\n    }\n  }\n\n  trigger () {\n    const hasHiddenClass = this.classList.contains('hidden')\n    const elements = this.querySelectorAll('input, textarea, select')\n\n    elements.forEach((element) => {\n      if (hasHiddenClass) {\n        element.disabled = true\n\n        if (!element.dataset.wasRequired) {\n          element.dataset.wasRequired = element.required\n        }\n\n        element.required = false\n      } else {\n        element.disabled = false\n\n        if (element.dataset.wasRequired) {\n          element.required = element.dataset.wasRequired === 'true'\n\n          delete element.dataset.wasRequired\n        }\n      }\n    })\n  }\n}\n","import { actionable } from '@github/catalyst/lib/actionable'\n\nexport default actionable(class extends HTMLElement {\n  connectedCallback () {\n    document.body.classList.add('overflow-hidden')\n\n    document.addEventListener('keyup', this.onEscKey)\n\n    document.addEventListener('turbo:before-cache', this.close)\n\n    if (this.dataset.closeAfterSubmit !== 'false') {\n      document.addEventListener('turbo:submit-end', this.onSubmit)\n    }\n  }\n\n  disconnectedCallback () {\n    document.body.classList.remove('overflow-hidden')\n\n    document.removeEventListener('keyup', this.onEscKey)\n    document.removeEventListener('turbo:submit-end', this.onSubmit)\n    document.removeEventListener('turbo:before-cache', this.close)\n  }\n\n  onSubmit = (e) => {\n    if (e.detail.success && e.detail?.formSubmission?.formElement?.dataset?.closeOnSubmit !== 'false') {\n      this.close()\n    }\n  }\n\n  onEscKey = (e) => {\n    if (e.code === 'Escape') {\n      this.close()\n    }\n  }\n\n  close = (e) => {\n    e?.preventDefault()\n\n    this.remove()\n  }\n})\n","import { actionable } from '@github/catalyst/lib/actionable'\nimport { target, targetable } from '@github/catalyst/lib/targetable'\n\nexport default actionable(targetable(class extends HTMLElement {\n  static [target.static] = [\n    'loading',\n    'icon',\n    'input'\n  ]\n\n  connectedCallback () {\n    this.addEventListener('drop', this.onDrop)\n\n    this.addEventListener('dragover', (e) => e.preventDefault())\n\n    document.addEventListener('turbo:submit-end', this.toggleLoading)\n  }\n\n  disconnectedCallback () {\n    document.removeEventListener('turbo:submit-end', this.toggleLoading)\n  }\n\n  onDrop (e) {\n    e.preventDefault()\n\n    this.input.files = e.dataTransfer.files\n\n    this.uploadFiles(e.dataTransfer.files)\n  }\n\n  onSelectFiles (e) {\n    e.preventDefault()\n\n    this.uploadFiles(this.input.files)\n  }\n\n  toggleLoading = (e) => {\n    if (e && e.target && !e.target.contains(this)) {\n      return\n    }\n\n    this.loading.classList.toggle('hidden')\n    this.icon.classList.toggle('hidden')\n    this.classList.toggle('opacity-50')\n  }\n\n  uploadFiles () {\n    this.toggleLoading()\n\n    if (this.dataset.submitOnUpload) {\n      this.closest('form').querySelector('button[type=\"submit\"]').click()\n    }\n  }\n}))\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.querySelectorAll('a').forEach((link) => {\n      if (document.location.pathname.startsWith(link.pathname) && !link.getAttribute('href').startsWith('http')) {\n        link.classList.add('bg-base-300')\n      }\n    })\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.clearChecked()\n\n    this.addEventListener('click', (e) => {\n      e.stopPropagation()\n\n      const text = this.dataset.text || this.innerText.trim()\n\n      if (navigator.clipboard) {\n        navigator.clipboard.writeText(text)\n      } else {\n        if (e.target.tagName !== 'INPUT') {\n          alert(`Clipboard not available. Make sure you're using https://\\nCopy text: ${text}`)\n        }\n      }\n    })\n  }\n\n  clearChecked () {\n    this.querySelectorAll('input').forEach((e) => {\n      e.checked = false\n    })\n  }\n}\n","import { actionable } from '@github/catalyst/lib/actionable'\nimport { targets, targetable } from '@github/catalyst/lib/targetable'\n\nexport default actionable(targetable(class extends HTMLElement {\n  static [targets.static] = ['items']\n\n  addItem (e) {\n    e.preventDefault()\n\n    const originalItem = this.items[0]\n    const duplicateItem = originalItem.cloneNode(true)\n    const uniqueId = Math.floor(Math.random() * 10 ** 16)\n\n    duplicateItem.querySelectorAll(\"select, textarea, input:not([type='hidden'])\").forEach((input) => {\n      input.value = ''\n      input.checked = false\n      input.removeAttribute('selected')\n    })\n\n    duplicateItem.querySelectorAll('select, textarea, input').forEach((input) => {\n      input.name = input.name.replace('[1]', `[${uniqueId}]`)\n    })\n\n    duplicateItem.querySelectorAll('a.hidden').forEach((button) => button.classList.toggle('hidden'))\n\n    originalItem.parentNode.append(duplicateItem)\n  }\n\n  removeItem (e) {\n    e.preventDefault()\n\n    this.items.find((item) => item.contains(e.target))?.remove()\n  }\n}))\n","import { target, targetable } from '@github/catalyst/lib/targetable'\n\nexport default targetable(class extends HTMLElement {\n  static [target.static] = ['defaultButton', 'loadingButton']\n\n  connectedCallback () {\n    this.addEventListener('click', () => this.downloadFiles())\n  }\n\n  toggleState () {\n    this.defaultButton?.classList?.toggle('hidden')\n    this.loadingButton?.classList?.toggle('hidden')\n  }\n\n  downloadFiles () {\n    if (!this.dataset.src) return\n\n    this.toggleState()\n\n    fetch(this.dataset.src).then(async (response) => {\n      if (response.ok) {\n        const urls = await response.json()\n        const isSafariIos = /iPhone|iPad|iPod/i.test(navigator.userAgent)\n\n        if (isSafariIos && urls.length > 1) {\n          this.downloadSafariIos(urls)\n        } else {\n          this.downloadUrls(urls)\n        }\n      } else {\n        alert('Failed to download files')\n      }\n    })\n  }\n\n  downloadUrls (urls) {\n    const fileRequests = urls.map((url) => {\n      return () => {\n        return fetch(url).then(async (resp) => {\n          const blobUrl = URL.createObjectURL(await resp.blob())\n          const link = document.createElement('a')\n\n          link.href = blobUrl\n          link.setAttribute('download', decodeURI(url.split('/').pop()))\n\n          link.click()\n\n          URL.revokeObjectURL(blobUrl)\n        })\n      }\n    })\n\n    fileRequests.reduce(\n      (prevPromise, request) => prevPromise.then(() => request()),\n      Promise.resolve()\n    ).finally(() => {\n      this.toggleState()\n    })\n  }\n\n  downloadSafariIos (urls) {\n    const fileRequests = urls.map((url) => {\n      return fetch(url).then(async (resp) => {\n        const blob = await resp.blob()\n        const blobUrl = URL.createObjectURL(blob.slice(0, blob.size, 'application/octet-stream'))\n        const link = document.createElement('a')\n\n        link.href = blobUrl\n        link.setAttribute('download', decodeURI(url.split('/').pop()))\n\n        return link\n      })\n    })\n\n    Promise.all(fileRequests).then((links) => {\n      links.forEach((link, index) => {\n        setTimeout(() => {\n          link.click()\n\n          URL.revokeObjectURL(link.href)\n        }, index * 50)\n      })\n    }).finally(() => {\n      this.toggleState()\n    })\n  }\n})\n","export default class extends HTMLElement {\n  connectedCallback () {\n    if (this.dataset.inputId) {\n      document.getElementById(this.dataset.inputId).value = document.location.origin\n    }\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    if (this.dataset.inputId) {\n      const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n      if (this.dataset.params === 'true') {\n        const params = new URLSearchParams(this.input.value)\n\n        params.set('timezone', timezone)\n\n        this.input.value = params.toString()\n      } else {\n        this.input.value = timezone\n      }\n    }\n  }\n\n  get input () {\n    return document.getElementById(this.dataset.inputId)\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.resize()\n\n    this.textarea.addEventListener('input', () => this.resize())\n  }\n\n  resize () {\n    if (this.textarea.clientHeight < this.textarea.scrollHeight) {\n      this.textarea.style.height = `${this.textarea.scrollHeight + 5}px`\n    }\n  }\n\n  get textarea () {\n    return this.querySelector('textarea')\n  }\n}\n","import autocomplete from 'autocompleter'\n\nexport default class extends HTMLElement {\n  connectedCallback () {\n    autocomplete({\n      input: this.input,\n      preventSubmit: 1,\n      minLength: 1,\n      showOnFocus: true,\n      debounceWaitMs: 200,\n      onSelect: this.onSelect,\n      render: this.render,\n      fetch: this.fetch\n    })\n  }\n\n  onSelect = (item) => {\n    const fields = ['email', 'name', 'phone']\n    const submitterItemEl = this.closest('submitter-item')\n\n    fields.forEach((field) => {\n      const input = submitterItemEl.querySelector(`submitters-autocomplete[data-field=\"${field}\"] input`)\n      const textarea = submitterItemEl.querySelector(`submitters-autocomplete[data-field=\"${field}\"] textarea`)\n\n      if (input && item[field]) {\n        input.value = item[field]\n        input.dispatchEvent(new CustomEvent('linked-input.update', { bubbles: true }))\n      }\n\n      if (textarea && item[field]) {\n        textarea.value = textarea.value.replace(/[^;,\\s]+$/, item[field] + ' ')\n\n        textarea.dispatchEvent(new Event('input', { bubbles: true }))\n      }\n    })\n  }\n\n  fetch = (text, resolve) => {\n    const q = text.split(/[;,\\s]+/).pop().trim()\n\n    if (q) {\n      const queryParams = new URLSearchParams({ q, field: this.dataset.field })\n\n      this.currentFetch ||= fetch('/submitters_autocomplete?' + queryParams)\n\n      this.currentFetch.then(async (resp) => {\n        const items = await resp.json()\n\n        resolve(items)\n      }).catch(() => {\n        resolve([])\n      }).finally(() => {\n        this.currentFetch = null\n      })\n    } else {\n      resolve([])\n    }\n  }\n\n  render = (item) => {\n    const div = document.createElement('div')\n\n    div.setAttribute('dir', 'auto')\n\n    div.textContent = item[this.dataset.field]\n\n    return div\n  }\n\n  get input () {\n    return this.querySelector('input') || this.querySelector('textarea')\n  }\n}\n","import autocomplete from 'autocompleter'\n\nexport default class extends HTMLElement {\n  connectedCallback () {\n    autocomplete({\n      input: this.input,\n      preventSubmit: this.dataset.submitOnSelect === 'true' ? 0 : 1,\n      minLength: 0,\n      showOnFocus: true,\n      onSelect: this.onSelect,\n      render: this.render,\n      fetch: this.fetch\n    })\n  }\n\n  onSelect = (item) => {\n    this.input.value = item.name\n  }\n\n  fetch = (text, resolve) => {\n    const queryParams = new URLSearchParams({ q: text })\n\n    fetch('/template_folders_autocomplete?' + queryParams).then(async (resp) => {\n      const items = await resp.json()\n\n      resolve(items)\n    }).catch(() => {\n      resolve([])\n    })\n  }\n\n  render = (item) => {\n    const div = document.createElement('div')\n\n    div.setAttribute('dir', 'auto')\n\n    div.textContent = item.name\n\n    return div\n  }\n\n  get input () {\n    return this.querySelector('input')\n  }\n}\n","import { target, targetable } from '@github/catalyst/lib/targetable'\nimport { cropCanvasAndExportToPNG } from '../submission_form/crop_canvas'\n\nexport default targetable(class extends HTMLElement {\n  static [target.static] = ['canvas', 'input', 'clear', 'button']\n\n  async connectedCallback () {\n    const scale = 3\n\n    this.canvas.width = this.canvas.parentNode.clientWidth * scale\n    this.canvas.height = this.canvas.parentNode.clientHeight * scale\n\n    this.canvas.getContext('2d').scale(scale, scale)\n\n    const { default: SignaturePad } = await import('signature_pad')\n\n    this.pad = new SignaturePad(this.canvas)\n\n    this.clear.addEventListener('click', (e) => {\n      e.preventDefault()\n\n      this.pad.clear()\n    })\n\n    this.button.addEventListener('click', (e) => {\n      e.preventDefault()\n\n      this.button.disabled = true\n\n      this.submit()\n    })\n  }\n\n  async submit () {\n    const blob = await cropCanvasAndExportToPNG(this.canvas)\n    const file = new File([blob], 'signature.png', { type: 'image/png' })\n\n    const dataTransfer = new DataTransfer()\n\n    dataTransfer.items.add(file)\n\n    this.input.files = dataTransfer.files\n\n    if (this.input.webkitEntries.length) {\n      this.input.dataset.file = `${dataTransfer.files[0].name}`\n    }\n\n    this.closest('form').requestSubmit()\n  }\n})\n","function cropCanvasAndExportToPNG (canvas, { errorOnTooSmall } = { errorOnTooSmall: false }) {\n  const ctx = canvas.getContext('2d')\n\n  const width = canvas.width\n  const height = canvas.height\n\n  let topmost = height\n  let bottommost = 0\n  let leftmost = width\n  let rightmost = 0\n\n  const imageData = ctx.getImageData(0, 0, width, height)\n  const pixels = imageData.data\n\n  for (let y = 0; y < height; y++) {\n    for (let x = 0; x < width; x++) {\n      const pixelIndex = (y * width + x) * 4\n      const alpha = pixels[pixelIndex + 3]\n      if (alpha !== 0) {\n        topmost = Math.min(topmost, y)\n        bottommost = Math.max(bottommost, y)\n        leftmost = Math.min(leftmost, x)\n        rightmost = Math.max(rightmost, x)\n      }\n    }\n  }\n\n  const croppedWidth = rightmost - leftmost + 1\n  const croppedHeight = bottommost - topmost + 1\n\n  const croppedCanvas = document.createElement('canvas')\n  croppedCanvas.width = croppedWidth\n  croppedCanvas.height = croppedHeight\n  const croppedCtx = croppedCanvas.getContext('2d')\n\n  if (errorOnTooSmall && (croppedWidth < 20 || croppedHeight < 20)) {\n    return Promise.reject(new Error('Image too small'))\n  }\n\n  croppedCtx.drawImage(canvas, leftmost, topmost, croppedWidth, croppedHeight, 0, 0, croppedWidth, croppedHeight)\n\n  return new Promise((resolve, reject) => {\n    croppedCanvas.toBlob((blob) => {\n      if (blob) {\n        resolve(blob)\n      } else {\n        reject(new Error('Failed to create a PNG blob.'))\n      }\n    }, 'image/png')\n  })\n}\n\nexport { cropCanvasAndExportToPNG }\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.querySelector('form').requestSubmit()\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    const input = document.createElement('input')\n\n    input.type = 'hidden'\n    input.name = 'password'\n    input.value = prompt('Enter PDF password')\n\n    this.form.append(input)\n\n    this.form.requestSubmit()\n\n    this.remove()\n  }\n\n  get form () {\n    return this.closest('form')\n  }\n}\n","const emailRegexp = /([^@;,<>\\s]+@[^@;,<>\\s]+)/g\n\nexport default class extends HTMLElement {\n  connectedCallback () {\n    if (this.dataset.limit) {\n      this.textarea.addEventListener('input', () => {\n        const emails = this.textarea.value.match(emailRegexp) || []\n\n        this.updateCounter(emails.length)\n      })\n    }\n  }\n\n  updateCounter (count) {\n    let counter = document.getElementById('emails_counter')\n    let bulkMessage = document.getElementById('bulk_message')\n\n    if (count < 2) {\n      counter?.remove()\n\n      return\n    }\n\n    if ((count + 10) > this.dataset.limit) {\n      if (!counter) {\n        counter = document.createElement('span')\n\n        counter.id = 'emails_counter'\n        counter.classList.add('text-xs', 'right-0', 'absolute')\n        counter.style.bottom = '-15px'\n\n        this.textarea.parentNode.append(counter)\n      }\n\n      counter.innerText = `${count} / ${this.dataset.limit}`\n    }\n\n    if (this.dataset.bulkEnabled !== 'true') {\n      if (!bulkMessage) {\n        bulkMessage = document.createElement('span')\n\n        bulkMessage.id = 'bulk_message'\n        bulkMessage.classList.add('text-xs', 'left-0', 'absolute')\n        bulkMessage.style.bottom = '-15px'\n\n        this.textarea.parentNode.append(bulkMessage)\n      }\n\n      bulkMessage.innerHTML = '<a class=\"link\" data-turbo=\"false\" href=\"/upgrade\">Upgrade</a> to bulk send multiple recipients'\n    }\n  }\n\n  get textarea () {\n    return this.querySelector('textarea')\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    document.addEventListener('turbo:submit-end', this.onSubmitEnd)\n\n    this.form.addEventListener('submit', this.onSubmit)\n  }\n\n  disconnectedCallback () {\n    document.removeEventListener('turbo:submit-end', this.onSubmitEnd)\n\n    this.form.removeEventListener('submit', this.onSubmit)\n  }\n\n  onSubmit = () => {\n    this.element.classList.add('invisible')\n  }\n\n  onSubmitEnd = (event) => {\n    if (event.target === this.form) {\n      const resp = event.detail?.formSubmission?.result?.fetchResponse?.response\n\n      if (resp?.status / 100 === 2) {\n        this.element.classList.remove('invisible')\n      }\n    }\n  }\n\n  get element () {\n    return document.getElementById(this.dataset.elementId)\n  }\n\n  get form () {\n    return this.closest('form')\n  }\n}\n","import { target, targetable } from '@github/catalyst/lib/targetable'\n\nexport default targetable(class extends HTMLElement {\n  static [target.static] = [\n    'visiblePasswordIcon',\n    'hiddenPasswordIcon',\n    'passwordInput',\n    'togglePasswordVisibility'\n  ]\n\n  connectedCallback () {\n    this.togglePasswordVisibility.addEventListener('click', this.handleTogglePasswordVisibility)\n    document.addEventListener('turbo:submit-start', this.setInitialPasswordType)\n  }\n\n  disconnectedCallback () {\n    this.togglePasswordVisibility.removeEventListener('click', this.handleTogglePasswordVisibility)\n    document.removeEventListener('turbo:submit-start', this.setInitialPasswordType)\n  }\n\n  handleTogglePasswordVisibility = () => {\n    this.passwordInput.type = this.passwordInput.type === 'password' ? 'text' : 'password'\n    this.toggleIcon()\n  }\n\n  setInitialPasswordType = () => {\n    this.passwordInput.type = 'password'\n    this.toggleIcon()\n  }\n\n  toggleIcon = () => {\n    this.visiblePasswordIcon.classList.toggle('hidden', this.passwordInput.type === 'password')\n    this.hiddenPasswordIcon.classList.toggle('hidden', this.passwordInput.type === 'text')\n  }\n})\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.input.addEventListener('focus', () => {\n      if (this.title) {\n        this.title.classList.add('hidden', 'md:block')\n        this.input.classList.add('w-60')\n      }\n    })\n\n    this.input.addEventListener('blur', (e) => {\n      if (this.title && !e.target.value) {\n        this.title.classList.remove('hidden')\n        this.input.classList.remove('w-60')\n      }\n    })\n  }\n\n  get input () {\n    return this.querySelector('input')\n  }\n\n  get title () {\n    return document.querySelector(this.dataset.title)\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.input.addEventListener('change', (event) => {\n      if (this.dataset.attribute) {\n        this.target[this.dataset.attribute] = event.target.checked\n      }\n\n      if (this.dataset.className) {\n        this.target.classList.toggle(this.dataset.className, event.target.value !== this.dataset.value)\n        if (this.dataset.className === 'hidden' && this.target.tagName === 'INPUT') {\n          this.target.disabled = event.target.value !== this.dataset.value\n        }\n      }\n\n      if (this.dataset.attribute === 'disabled') {\n        this.target.value = ''\n      }\n    })\n  }\n\n  get input () {\n    return this.querySelector('input[type=\"checkbox\"]') || this.querySelector('select')\n  }\n\n  get target () {\n    return document.getElementById(this.dataset.targetId)\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    if (this.target) {\n      this.input.value = this.target.value\n\n      this.target.addEventListener('input', (e) => {\n        this.input.value = e.target.value\n      })\n\n      this.target.addEventListener('linked-input.update', (e) => {\n        this.input.value = e.target.value\n      })\n    }\n  }\n\n  get input () {\n    return this.querySelector('input')\n  }\n\n  get target () {\n    if (this.dataset.targetId) {\n      const listItem = this.closest('[data-targets=\"dynamic-list.items\"]')\n\n      if (listItem) {\n        return listItem.querySelector(`#${this.dataset.targetId}`)\n      } else {\n        return document.getElementById(this.dataset.targetId)\n      }\n    }\n  }\n}\n","export default class extends HTMLElement {\n  connectedCallback () {\n    this.items.forEach((item) => {\n      item.addEventListener('change', (e) => {\n        this.items.forEach((item) => {\n          item.checked = item === e.target && e.target.checked\n        })\n      })\n    })\n  }\n\n  get items () {\n    return this.querySelectorAll('input[type=\"checkbox\"]')\n  }\n}\n","const requestCache = new Map()\nconst cacheTtl = 10 * 1000\n\nfunction isPreloadable (linkElement) {\n  const href = linkElement.getAttribute('href')\n\n  if (!href || href === '#' || linkElement.dataset.turbo === 'false' || linkElement.dataset.prefetch === 'false') {\n    return\n  }\n\n  if (linkElement.origin !== document.location.origin) {\n    return\n  }\n\n  if (!['http:', 'https:'].includes(linkElement.protocol)) {\n    return\n  }\n\n  if (linkElement.pathname + linkElement.search === document.location.pathname + document.location.search) {\n    return\n  }\n\n  if (linkElement.dataset.turboMethod && linkElement.dataset.turboMethod !== 'get') {\n    return\n  }\n\n  return true\n}\n\nfunction mouseoverListener (event) {\n  let linkElement\n\n  if (event.target.tagName === 'A') {\n    linkElement = event.target\n  } else {\n    linkElement = event.target.closest('a')\n  }\n\n  if (!linkElement) {\n    return\n  }\n\n  if (!isPreloadable(linkElement)) {\n    return\n  }\n\n  const url = linkElement.getAttribute('href')\n  const loc = new URL(url, location.protocol + '//' + location.host)\n  const absoluteUrl = loc.toString()\n\n  const cached = requestCache.get(absoluteUrl)\n\n  if (cached && cached.ttl > new Date()) {\n    return\n  }\n\n  const requestOptions = {\n    credentials: 'same-origin',\n    headers: { Accept: 'text/html, application/xhtml+xml', 'VND.PREFETCH': 'true' },\n    method: 'GET',\n    redirect: 'follow'\n  }\n\n  if (linkElement.dataset.turboFrame && linkElement.dataset.turboFrame !== '_top') {\n    requestOptions.headers['Turbo-Frame'] = linkElement.dataset.turboFrame\n  } else if (linkElement.dataset.turboFrame !== '_top') {\n    const turboFrame = linkElement.closest('turbo-frame')\n\n    if (turboFrame) {\n      requestOptions.headers['Turbo-Frame'] = turboFrame.id\n    }\n  }\n\n  requestCache.set(absoluteUrl, { request: fetch(absoluteUrl, requestOptions), ttl: new Date(new Date().getTime() + cacheTtl) })\n}\n\nfunction turboBeforeFetchRequest (event) {\n  if (event.target.tagName !== 'FORM' && event.detail.fetchOptions.method === 'GET') {\n    const cached = requestCache.get(event.detail.url.toString())\n\n    if (cached && cached.ttl > new Date()) {\n      event.detail.response = cached.request\n    }\n  }\n\n  requestCache.clear()\n}\n\nfunction start () {\n  if (!window.turboInstantClickEnabled) {\n    document.addEventListener('turbo:before-fetch-request', turboBeforeFetchRequest)\n    document.addEventListener('mouseover', mouseoverListener, { capture: true, passive: true })\n  }\n\n  window.turboInstantClickEnabled = true\n}\n\nexport { start }\n","import '@hotwired/turbo'\nimport { encodeMethodIntoRequestBody } from '@hotwired/turbo-rails/app/javascript/turbo/fetch_requests'\n\nimport { createApp, reactive } from 'vue'\nimport TemplateBuilder from './template_builder/builder'\nimport ImportList from './template_builder/import_list'\n\nimport ToggleVisible from './elements/toggle_visible'\nimport ToggleCookies from './elements/toggle_cookies'\nimport DisableHidden from './elements/disable_hidden'\nimport TurboModal from './elements/turbo_modal'\nimport FileDropzone from './elements/file_dropzone'\nimport MenuActive from './elements/menu_active'\nimport ClipboardCopy from './elements/clipboard_copy'\nimport DynamicList from './elements/dynamic_list'\nimport DownloadButton from './elements/download_button'\nimport SetOriginUrl from './elements/set_origin_url'\nimport SetTimezone from './elements/set_timezone'\nimport AutoresizeTextarea from './elements/autoresize_textarea'\nimport SubmittersAutocomplete from './elements/submitter_autocomplete'\nimport FolderAutocomplete from './elements/folder_autocomplete'\nimport SignatureForm from './elements/signature_form'\nimport SubmitForm from './elements/submit_form'\nimport PromptPassword from './elements/prompt_password'\nimport EmailsTextarea from './elements/emails_textarea'\nimport ToggleOnSubmit from './elements/toggle_on_submit'\nimport PasswordInput from './elements/password_input'\nimport SearchInput from './elements/search_input'\nimport ToggleAttribute from './elements/toggle_attribute'\nimport LinkedInput from './elements/linked_input'\nimport CheckboxGroup from './elements/checkbox_group'\n\nimport * as TurboInstantClick from './lib/turbo_instant_click'\n\nimport './images/preview.png'\n\nTurboInstantClick.start()\n\ndocument.addEventListener('turbo:before-cache', () => {\n  window.flash?.remove()\n})\n\ndocument.addEventListener('keyup', (e) => {\n  if (e.code === 'Escape') {\n    document.activeElement?.blur()\n  }\n})\n\ndocument.addEventListener('turbo:before-fetch-request', encodeMethodIntoRequestBody)\ndocument.addEventListener('turbo:submit-end', async (event) => {\n  const resp = event.detail?.formSubmission?.result?.fetchResponse?.response\n\n  if (!resp?.headers?.get('content-disposition')?.includes('attachment')) {\n    return\n  }\n\n  const url = URL.createObjectURL(await resp.blob())\n  const link = document.createElement('a')\n\n  link.href = url\n  link.setAttribute('download', decodeURIComponent(resp.headers.get('content-disposition').split('\"')[1]))\n\n  document.body.appendChild(link)\n\n  link.click()\n\n  document.body.removeChild(link)\n\n  URL.revokeObjectURL(url)\n})\n\nconst safeRegisterElement = (name, element, options = {}) => !window.customElements.get(name) && window.customElements.define(name, element, options)\n\nsafeRegisterElement('toggle-visible', ToggleVisible)\nsafeRegisterElement('disable-hidden', DisableHidden)\nsafeRegisterElement('turbo-modal', TurboModal)\nsafeRegisterElement('file-dropzone', FileDropzone)\nsafeRegisterElement('menu-active', MenuActive)\nsafeRegisterElement('clipboard-copy', ClipboardCopy)\nsafeRegisterElement('dynamic-list', DynamicList)\nsafeRegisterElement('download-button', DownloadButton)\nsafeRegisterElement('set-origin-url', SetOriginUrl)\nsafeRegisterElement('set-timezone', SetTimezone)\nsafeRegisterElement('autoresize-textarea', AutoresizeTextarea)\nsafeRegisterElement('submitters-autocomplete', SubmittersAutocomplete)\nsafeRegisterElement('folder-autocomplete', FolderAutocomplete)\nsafeRegisterElement('signature-form', SignatureForm)\nsafeRegisterElement('submit-form', SubmitForm)\nsafeRegisterElement('prompt-password', PromptPassword)\nsafeRegisterElement('emails-textarea', EmailsTextarea)\nsafeRegisterElement('toggle-cookies', ToggleCookies)\nsafeRegisterElement('toggle-on-submit', ToggleOnSubmit)\nsafeRegisterElement('password-input', PasswordInput)\nsafeRegisterElement('search-input', SearchInput)\nsafeRegisterElement('toggle-attribute', ToggleAttribute)\nsafeRegisterElement('linked-input', LinkedInput)\nsafeRegisterElement('checkbox-group', CheckboxGroup)\n\nsafeRegisterElement('template-builder', class extends HTMLElement {\n  connectedCallback () {\n    document.addEventListener('turbo:submit-end', this.onSubmit)\n\n    this.appElem = document.createElement('div')\n\n    this.appElem.classList.add('md:h-screen')\n\n    this.app = createApp(TemplateBuilder, {\n      template: reactive(JSON.parse(this.dataset.template)),\n      backgroundColor: '#faf7f5',\n      locale: this.dataset.locale,\n      withPhone: this.dataset.withPhone === 'true',\n      withLogo: this.dataset.withLogo !== 'false',\n      editable: this.dataset.editable !== 'false',\n      authenticityToken: document.querySelector('meta[name=\"csrf-token\"]')?.content,\n      withPayment: this.dataset.withPayment === 'true',\n      isPaymentConnected: this.dataset.isPaymentConnected === 'true',\n      withFormula: this.dataset.withFormula === 'true',\n      withSendButton: this.dataset.withSendButton !== 'false',\n      withSignYourselfButton: this.dataset.withSignYourselfButton !== 'false',\n      withConditions: this.dataset.withConditions === 'true',\n      currencies: (this.dataset.currencies || '').split(',').filter(Boolean),\n      acceptFileTypes: this.dataset.acceptFileTypes\n    })\n\n    this.component = this.app.mount(this.appElem)\n\n    this.appendChild(this.appElem)\n  }\n\n  onSubmit = (e) => {\n    if (e.detail.success && e.detail?.formSubmission?.formElement?.id === 'submitters_form') {\n      e.detail.fetchResponse.response.json().then((data) => {\n        this.component.template.submitters = data.submitters\n      })\n    }\n  }\n\n  disconnectedCallback () {\n    document.removeEventListener('turbo:submit-end', this.onSubmit)\n\n    this.app?.unmount()\n    this.appElem?.remove()\n  }\n})\n\nsafeRegisterElement('import-list', class extends HTMLElement {\n  connectedCallback () {\n    this.appElem = document.createElement('div')\n\n    this.app = createApp(ImportList, {\n      template: JSON.parse(this.dataset.template),\n      multitenant: this.dataset.multitenant === 'true',\n      authenticityToken: document.querySelector('meta[name=\"csrf-token\"]')?.content,\n      i18n: JSON.parse(this.dataset.i18n || '{}')\n    })\n\n    this.app.mount(this.appElem)\n\n    this.appendChild(this.appElem)\n  }\n\n  disconnectedCallback () {\n    this.app?.unmount()\n    this.appElem?.remove()\n  }\n})\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \"-\" + \"21ba5661655cf8786dbe\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/packs/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t543: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdocuseal\"] = self[\"webpackChunkdocuseal\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [779], () => (__webpack_require__(5380)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [779], () => (__webpack_require__(8115)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","style","class","href","tabindex","id","ref","_createElementVNode","name","components","IconUpload","IconInnerShadowTop","inject","props","templateId","type","Number","String","required","acceptFileTypes","default","emits","data","isLoading","isProcessing","computed","inputId","Math","random","toString","split","methods","async","this","baseFetch","method","body","FormData","$refs","form","then","resp","ok","json","$emit","input","value","status","formData","append","prompt","t","alert","finally","_createElementBlock","for","$options","_normalizeClass","$data","_createBlock","_component_IconInnerShadowTop","width","_component_IconUpload","_hoisted_2","_toDisplayString","_hoisted_3","_hoisted_4","_hoisted_5","accept","$props","multiple","onChange","_cache","args","upload","IconCloudUpload","message","Upload","onDropFiles","e","dataTransfer","files","every","f","match","onDragover","_withModifiers","onDrop","height","_component_IconCloudUpload","_hoisted_6","_hoisted_7","IconPencil","modelValue","iconInline","Boolean","iconWidth","withRequired","selectOnEditClick","editable","iconStrokeWidth","watch","handler","immediate","onPaste","text","clipboardData","window","getData","selection","$el","getRootNode","getSelection","rangeCount","deleteFromDocument","getRangeAt","insertNode","document","createTextNode","collapseToEnd","selectContent","el","contenteditable","range","createRange","selectNodeContents","sel","removeAllRanges","addRange","onBlur","setTimeout","innerText","trim","focusContenteditable","focus","blurContenteditable","blur","dir","onKeydown","_withKeys","onFocus","$event","_ctx","_hoisted_1","title","onClick","_createVNode","_component_IconPencil","invisible","_normalizeStyle","right","menuClasses","menuStyle","Object","buttonClasses","buttonWidth","renderDropdown","fieldNames","heading","signature","initials","date","number","image","file","select","checkbox","radio","cells","stamp","payment","phone","fieldIcons","IconHeading","IconTextSize","IconWritingSign","IconLetterCaseUpper","IconCalendarEvent","IconSquareNumber1","IconPhoto","IconCheckbox","IconChecks","IconPaperclip","IconCircleDot","IconSelect","IconColumns3","IconRubberStamp","IconCreditCard","IconPhoneCheck","fieldIconsSorted","fieldTypes","length","reduce","acc","fromEntries","entries","filter","key","closeDropdown","activeElement","onMouseenter","onTouchstart","_renderSlot","$slots","_resolveDynamicComponent","_Fragment","_renderList","icon","includes","withPhone","withPayment","action","target","autocomplete","isConnected","IconSettings","IconCircleCheck","IconRouteAltLeft","IconInfoCircle","IconMathFunction","IconBrandStripe","field","isOauthSuccess","location","search","redirectUri","origin","defaultCurrencies","currenciesList","currencies","authenticityToken","querySelector","content","oauthState","params","URLSearchParams","set","defaultCurrency","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","startsWith","created","preferences","mounted","currency","isPaymentConnected","checkStatus","fetch","price","formula","_component_IconSettings","draggable","onDragstart","placeholder","save","backgroundColor","disabled","_component_IconCircleCheck","_hoisted_10","_hoisted_13","_hoisted_14","_hoisted_15","_component_IconBrandStripe","_hoisted_16","_hoisted_17","_hoisted_18","_component_IconMathFunction","_hoisted_19","_hoisted_20","_component_IconInfoCircle","_hoisted_21","_hoisted_22","_component_IconRouteAltLeft","_hoisted_23","IconShape","IconCopy","IconNewSection","IconX","defaultField","withAreas","schemaAttachmentsIndexes","template","schema","item","index","attachment_uuid","numberFormats","dateFormats","formats","navigator","language","push","format","unshift","validations","sortedAreas","areas","sort","a","b","onChangeValidation","event","validation","pattern","$nextTick","validationCustom","copyToAllPages","areaString","JSON","stringify","documents","forEach","attachment","numberOfPages","metadata","pdf","number_of_pages","preview_images","page","find","area","uuid","parse","formatNumber","NumberFormat","formatDate","parts","day","D","DD","month","M","MM","MMM","MMMM","year","YYYY","YY","formatToParts","replace","p","selected","align","default_value","options","option","_hoisted_8","_hoisted_9","Date","checked","with_logo","_hoisted_24","readonly","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_component_IconShape","findIndex","_component_IconX","closest","_hoisted_39","_component_IconNewSection","_hoisted_40","_component_IconCopy","IconCodePlus","buildDefaultName","Function","fields","submitter_uuid","humanizeFormula","foundField","normalizeFormula","validateSaveAndClose","withFormula","normalizedFormula","insertTextUnderCursor","textToInsert","textarea","cursorPos","selectionEnd","newText","substring","setSelectionRange","resizeTextarea","scrollHeight","_component_IconCodePlus","onInput","_hoisted_11","conditions","conditionField","condition","field_uuid","conditionActions","fieldActions","actions","withConditions","onSubmit","cindex","splice","_hoisted_12","description","saveAndClose","Contenteditable","FieldSettings","PaymentSettings","FormulaModal","DescriptionModal","ConditionsModal","IconTrashX","FieldType","isNameFocus","showPaymentModal","isShowFormulaModal","isShowConditionsModal","isShowDescriptionModal","dropdownBgColor","modalContainerEl","defaultName","locale","endsWith","timeZoneName","removeArea","indexOf","formattedPrice","typeIndex","suffix","onNameFocus","maybeFocusOnOptionArea","option_uuid","selectedAreaRef","scrollToFirstArea","addOption","v4","inputs","querySelectorAll","removeOption","maybeUpdateOptions","cell_w","w","floor","h","onNameBlur","_component_FieldType","_component_Contenteditable","onMousedown","_component_PaymentSettings","onClickCondition","onClickDescription","onClickFormula","_component_FieldSettings","onSetDraw","onRemoveArea","onScrollTo","_component_IconTrashX","_Teleport","to","_component_FormulaModal","onClose","_component_ConditionsModal","_component_DescriptionModal","IconUserPlus","IconChevronDown","IconPlus","IconChevronUp","submitters","Array","compact","mobileView","allowAddNew","colors","names","selectedSubmitter","selectSubmitter","submitter","remove","confirm","move","direction","currentIndex","addSubmitter","newSubmitter","_component_IconChevronUp","_component_IconUserPlus","label","xmlns","viewBox","stroke","fill","Field","IconCirclePlus","FieldSubmitter","IconDrag","IconLock","withHelp","defaultFields","defaultRequiredFields","onlyDefinedFields","drawFieldType","defaultSubmitters","withStickySubmitters","defaultFieldsSearch","isShowFieldSearch","submitterDefaultFields","submitterFields","role","filteredSubmitterDefaultFields","toLowerCase","onFieldDragover","targetField","dragField","fieldsDragFieldRef","from","children","after","before","reorderFields","dataset","removeSubmitter","removeField","c","_component_FieldSubmitter","onNewSubmitter","onRemove","onNameChange","s","_component_Field","onDragend","_component_IconDrag","_component_IconLock","drawField","IconCheck","IconDotsVertical","inputMode","isDraw","withFieldPlaceholder","isContenteditable","isSettingsFocus","isResize","isDragged","isMoved","textOverflowChars","dragFrom","x","y","isDefaultValuePresent","isValueInput","isSelected","alignClasses","center","left","optionIndexText","o","currentWidth","submitterIndex","borderColors","bgColors","positionStyle","top","textContainer","clientHeight","maybeToggleDefaultValue","focusValueInput","maybeToggleCheckboxValue","defaultValue","collapse","firstChild","maybeBlurSettings","relatedTarget","settingsDropdown","contains","minWidth","clientWidth","startResizeCell","addEventListener","onResizeCell","stopResizeCell","removeEventListener","positionX","offsetX","settingsButton","onDefaultValueBlur","parseFloat","onDefaultValueEnter","preventDefault","onNameEnter","resize","offsetY","drag","startTouchDrag","touchTarget","touchValueTarget","rect","getBoundingClientRect","touches","clientX","clientY","touchDrag","stopTouchDrag","$parent","mask","previousSibling","min","max","startMouseMove","mouseMove","stopMouseMove","stopDrag","startResize","stopResize","startTouchResize","touchResize","stopTouchResize","FieldArea","onPointerdown","cellW","_component_IconDotsVertical","onFocusout","_component_IconCheck","char","onDblclick","allowDraw","isDrag","areaRefs","showMask","resizeDirection","newArea","defaultFieldType","defaultDrawFieldType","isMobile","test","userAgent","resizeDirectionClasses","nwse","ew","beforeUpdate","onImageLoad","setAttribute","naturalWidth","naturalHeight","setAreaRefs","maskW","maskH","onStartDraw","initialX","initialY","onPointermove","dx","dy","abs","onPointerup","Page","loading","src","url","onLoad","i","_component_FieldArea","onStartResize","onStopResize","areasIndex","baseUrl","pageRefs","basePreviewUrl","URL","sortedPreviewImages","lazyloadMetadata","keys","map","previewImagesIndex","signed_uuid","parseInt","filename","scrollToArea","scrollIntoView","behavior","block","setPageRefs","_component_Page","onDropField","onDraw","version","ReplaceButton","withReplaceButton","withArrows","previewImage","onUpdateName","_component_ReplaceButton","onSuccess","replaceSchemaItem","_component_IconPlus","en","search_field","field_not_found","clear","add_all_required_fields_to_continue","uploaded_pdf_contains_form_fields_keep_or_remove_them","keep","add_blank_page","display_title","unchecked","type_value","equal","not_equal","does_not_contain","not_empty","empty","select_field_","select_value_","remove_condition","add_condition","are_you_sure","sign_yourself","set_signing_date","signing_date","send","edit","settings","up","down","cancel","any","drawn","typed","draw_field_on_the_document","click_to_upload","or_drag_and_drop_files","uploading","processing_","add_pdf_documents_or_images","add_documents_or_images","read_only","draw_new_area","copy_to_all_pages","add_option","first_party","second_party","third_party","fourth_party","fifth_party","sixth_party","seventh_party","eighth_party","ninth_party","tenth_party","eleventh_party","twelfth_party","thirteenth_party","fourteenth_party","fifteenth_party","sixteenth_party","seventeenth_party","eighteenth_party","nineteenth_party","twentieth_party","draw","add","or_add_field_without_drawing","group","draw_a_text_field_on_the_page_with_a_mouse","drag_and_drop_any_other_field_type_on_the_page","click_on_the_field_type_above_to_start_drawing_it","please_draw_fields_to_prepare_the_document","only_pdf_and_images_are_supported","unlock_sms_verified_phone_number_field_with_paid_plan_use_text_field_for_phone_numbers_without_verification","available_only_in_pro","failed_to_download_files","signature_is_too_small_please_redraw","please_add_fields_for_the_submitter_name_or_remove_the_submitter_name_if_not_needed","draw_field","uploading_","add_document","none","ssn","ein","email","zip","custom","numbers_only","letters_only","regexp_validation","enter_pdf_password","wrong_password","save_and_preview","available_in_pro","some_fields_are_missing_in_the_formula","learn_more","es","it","pt","fr","de","Document","Fields","MobileDrawField","MobileFields","Logo","Dropzone","DocumentPreview","DocumentControls","IconUsersPlus","IconAdjustments","IconEye","IconDeviceFloppy","provide","i18n","withSendButton","withSignYourselfButton","withAddPageButton","autosave","withSelectedFieldType","withLogo","onUpload","onSave","withUploadButton","withTitle","withFieldsList","withDocumentsList","fetchOptions","headers","documentRefs","isBreakpointLg","isLoadingBlankPage","isSaving","showDrawField","pendingFieldAttachmentUuids","copiedArea","drawOption","defaultDateFormat","isUsBrowser","isUsTimezone","localeDateFormats","fieldAreasIndex","isAllRequiredFieldsAdded","some","selectedField","sortedDocuments","doc","existingSubmittersUuids","undoStack","redoStack","onWindowResize","onKeyUp","onKeyDown","pending_fields","unmounted","removePendingFields","addField","startFieldDraw","existingField","undo","pop","stringData","currentStringData","assign","redo","lastRedoData","offsetWidth","setDocumentRefs","scrollIntoDocument","clearDrawField","code","metaKey","shiftKey","ctrlKey","stopImmediatePropagation","pasteField","handleAreaArrows","diff","altKey","debouncedSave","clearTimeout","_saveTimeout","currentArea","pushUndo","setDefaultAreaSize","pageMask","areaWithoutOption","previousArea","insertBeforeAreaIndex","previousField","reverse","areaW","areaH","onDropfield","fieldArea","baseArea","lastArea","addBlankPage","canvas","createElement","ctx","getContext","fillStyle","fillRect","toBlob","blob","File","lastModified","now","updateFromUpload","previews","scrollTop","updateName","onDocumentRemove","removedFieldUuids","onDocumentReplace","moveDocument","maybeShowErrorTemplateAlert","join","submitterWithoutFields","replaceAll","onSaveClick","Turbo","visit","path","force","Promise","resolve","buttons","sticky","_component_Logo","slug","_component_IconWritingSign","_component_IconUsersPlus","_mergeProps","_component_IconDeviceFloppy","_component_IconChevronDown","_component_IconEye","_component_IconAdjustments","_component_DocumentPreview","onReplace","onUp","onDown","_component_Upload","_component_Document","_component_DocumentControls","_component_Dropzone","_component_Fields","onAddField","onSetDrawType","onSetDrag","onChangeSubmitter","onDragEnd","onScrollToArea","_component_MobileDrawField","onCancel","_component_MobileFields","onSelect","IconArrowsHorizontal","multitenant","spreadsheet","selectedSheetIndex","mappings","table","submissionsData","submissions","rows","row","submittersIndex","mapping","field_name","column_index","fieldType","fieldTypesIndex","values","csvBase64","selectFieldsForSubmitter","csv","btoa","unescape","encodeURIComponent","columns","slice","getElementById","classList","uploadFile","onSelectFile","addMapping","templateFields","buildDefaultMappings","columnIndex","column","m","error","selectWorksheet","sheet","_component_IconArrowsHorizontal","hidden","download","actionable","HTMLElement","trigger","elementIds","elementId","toggle","connectedCallback","button","expirationDate","setFullYear","getFullYear","expires","toUTCString","cookie","static","attributeChangedCallback","attributeName","oldValue","newValue","hasHiddenClass","element","wasRequired","onEscKey","close","closeAfterSubmit","disconnectedCallback","detail","success","formSubmission","formElement","closeOnSubmit","targetable","toggleLoading","uploadFiles","onSelectFiles","submitOnUpload","click","link","pathname","getAttribute","clearChecked","stopPropagation","clipboard","writeText","tagName","targets","addItem","originalItem","items","duplicateItem","cloneNode","uniqueId","removeAttribute","parentNode","removeItem","downloadFiles","toggleState","defaultButton","loadingButton","response","urls","downloadSafariIos","downloadUrls","blobUrl","createObjectURL","decodeURI","revokeObjectURL","prevPromise","request","fileRequests","size","all","links","timezone","preventSubmit","minLength","showOnFocus","debounceWaitMs","render","submitterItemEl","dispatchEvent","CustomEvent","bubbles","Event","q","queryParams","currentFetch","catch","div","textContent","submitOnSelect","scale","SignaturePad","pad","submit","errorOnTooSmall","topmost","bottommost","leftmost","rightmost","pixels","getImageData","croppedWidth","croppedHeight","croppedCanvas","croppedCtx","reject","Error","drawImage","cropCanvasAndExportToPNG","DataTransfer","webkitEntries","requestSubmit","emailRegexp","limit","emails","updateCounter","count","counter","bulkMessage","bottom","bulkEnabled","innerHTML","onSubmitEnd","result","fetchResponse","togglePasswordVisibility","handleTogglePasswordVisibility","setInitialPasswordType","passwordInput","toggleIcon","visiblePasswordIcon","hiddenPasswordIcon","attribute","className","targetId","listItem","requestCache","Map","cacheTtl","mouseoverListener","linkElement","turbo","prefetch","protocol","turboMethod","isPreloadable","absoluteUrl","host","cached","get","ttl","requestOptions","credentials","Accept","redirect","turboFrame","getTime","turboBeforeFetchRequest","turboInstantClickEnabled","capture","passive","flash","encodeMethodIntoRequestBody","decodeURIComponent","appendChild","removeChild","safeRegisterElement","customElements","define","ToggleVisible","DisableHidden","TurboModal","FileDropzone","MenuActive","ClipboardCopy","DynamicList","DownloadButton","SetOriginUrl","SetTimezone","AutoresizeTextarea","SubmittersAutocomplete","FolderAutocomplete","SignatureForm","SubmitForm","PromptPassword","EmailsTextarea","ToggleCookies","ToggleOnSubmit","PasswordInput","SearchInput","ToggleAttribute","LinkedInput","CheckboxGroup","appElem","app","createApp","TemplateBuilder","reactive","component","mount","unmount","ImportList","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","r","n","getter","__esModule","d","definition","defineProperty","enumerable","chunkId","promises","u","miniCssF","g","globalThis","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","charset","timeout","nc","onScriptComplete","prev","onerror","onload","doneFns","bind","head","Symbol","toStringTag","installedChunks","installedChunkData","promise","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}