UNPKG

on-codemerge

Version:

A WYSIWYG editor for on-codemerge is a user-friendly interface that allows users to edit and view their code in real time, exactly as it will appear in the final product

3 lines (2 loc) 1.74 kB
/*! on-codemerge v1.3.1 @author Pavel Kuzmin @license MIT @homepage https://s00d.github.io/on-codemerge/ @repository git+https://github.com/s00d/on-codemerge.git Copyright (c) 2026 Pavel Kuzmin - Built on 2026-07-02T13:39:17.947Z */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class n{createPresetField(e,r,a,l){const t=this.generateFieldId();return{id:t,type:e,label:r,options:{id:t,name:t,className:"form-input",placeholder:this.getDefaultPlaceholder(e),...this.getDefaultOptions(e),...a},validation:{...this.getDefaultValidation(e),...l}}}generateFieldId(){return`field_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}getDefaultPlaceholder(e){return{text:"Enter text",textarea:"Enter text",email:"example@email.com",password:"Enter password",number:"Enter number",tel:"+1 (555) 123-4567",url:"https://example.com",date:"Select date",time:"Select time","datetime-local":"Select date and time",month:"Select month",week:"Select week",color:"#000000",range:"Select value",select:"Select option",checkbox:"",radio:"",button:"",submit:"",reset:"",file:"Choose file",hidden:"",image:""}[e]||""}getDefaultOptions(e){switch(e){case"email":return{autocomplete:"email"};case"password":return{autocomplete:"current-password"};case"tel":return{autocomplete:"tel"};case"url":return{autocomplete:"url"};case"file":return{accept:"*/*"};case"range":return{min:0,max:100,step:1};case"number":return{min:0,step:1};default:return{}}}getDefaultValidation(e){switch(e){case"email":return{required:!0,email:!0};case"password":return{required:!0,minLength:6};case"tel":return{pattern:"^[+]?[0-9\\s\\-\\(\\)]{10,}$"};case"url":return{url:!0};case"number":return{numeric:!0};default:return{}}}}exports.FieldBuilder=n;