UNPKG

scrivito-neoletter-form-widgets

Version:
1 lines 2.3 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("scrivito")):"function"==typeof define&&define.amd?define(["scrivito"],t):"object"==typeof exports?exports["scrivito-form-widgets"]=t(require("scrivito")):e["scrivito-form-widgets"]=t(e.scrivito)}(this,e=>(()=>{"use strict";var t={2311:t=>{t.exports=e}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};o.r(n),o.d(n,{customFieldNameValidation:()=>m,getFormContainer:()=>s,insideFormContainerValidation:()=>a});var i=o(2311);function s(e){let t=e.container();for(;t instanceof i.Widget;){const e=t.objClass();if("FormStepContainerWidget"===e||"FormContainerWidget"===e)return t;t=t.container()}return null}function a(e){return s(e)?"":"Needs to be inside a Neoletter form."}function u(e){return!e.attributeDefinitions().type||"custom"===e.get("type")}function c(e){return u(e)?e.get("customFieldName"):"urlParam"==e.get("type")?e.get("urlParameterFieldName")||"":e.get("type")}const m=["customFieldName",(e,{widget:t})=>u(t)?((e,t)=>{if(!e.startsWith("custom_"))return'Custom field names must start with "custom_".';if(e.length<=7)return"Specify the custom field's name.";const r=e.slice(7);return/^[0-9]/.test(r)?'Custom field names must not start with a number after "custom_".':null===e.match(/^[A-Za-z_][A-Za-z0-9_]*$/)?'Custom field names may consist of the following characters: "a-z", "A-Z", "0-9", "_".':e.length>50?`Custom field names may be up to 50 characters long. This name is ${e.length} characters long.`:function(e){const t=c(e);if(null==(r=t)||(r instanceof Map||r instanceof Set?0===r.size:[Object,Array].includes((r||{}).constructor)&&!Object.entries(r||{}).length))return!0;var r;const o=s(e);return!o||!o.widgets().find(r=>c(r)===t&&r.id()!==e.id())}(t)?"":"Specify a unique custom field name. There is at least one other element with the same custom field name."})(e,t):""];return n})());