{
  "version": 3,
  "sources": ["/cdn/shop/t/95/assets/tm-forms.js?cb=1784027141"],
  "sourcesContent": ["/**\n * tm-forms.js \u2014 Renderiza los formularios propios (sustituto de Powerful Form\n * Builder). Hidrata cualquier <div data-tm-form=\"ID\"> (secciones del tema y\n * contenido de p\u00E1ginas), pide la config al panel y pinta un <form> con el estilo\n * configurado (preset, acento, campos, bot\u00F3n, etiquetas), gestiona el env\u00EDo,\n * \u00E9xito/errores/redirecci\u00F3n y anti-spam (honeypot).\n */\n(function () {\n  var API = (window.__tmFormsApi || 'https://orders.tiendamanilla.com').replace(/\\/$/, '');\n  var cache = {};\n\n  function esc(s) {\n    return String(s == null ? '' : s)\n      .replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')\n      .replace(/\"/g, '&quot;').replace(/'/g, '&#39;');\n  }\n  function fieldName(f) { return f.name || f.id || 'campo'; }\n  function cssEscape(s) { return String(s).replace(/([\"\\\\\\]])/g, '\\\\$1'); }\n\n  // Estilo por defecto (coincide con lib/forms/types.ts defaultStyle()).\n  function normStyle(s) {\n    s = s || {};\n    return {\n      preset: s.preset || 'card',\n      accent: s.accent || '#111827',\n      radius: (s.radius == null ? 10 : s.radius),\n      field_style: s.field_style || 'outline',\n      button_style: s.button_style || 'solid',\n      button_full: !!s.button_full,\n      label_style: s.label_style || 'top',\n    };\n  }\n\n  var FLOAT_TYPES = { text: 1, email: 1, tel: 1, number: 1, date: 1, textarea: 1 };\n\n  // HTML de un campo. `float` = etiqueta flotante (solo aplica a textos/textarea).\n  function fieldHtml(f, float) {\n    var t = f.type;\n    if (t === 'hidden') return '<input type=\"hidden\" name=\"' + esc(fieldName(f)) + '\" value=\"' + esc(f.defaultValue || '') + '\">';\n    if (t === 'heading') return '<h3 class=\"tm-form__heading\">' + esc(f.content || '') + '</h3>';\n    if (t === 'paragraph') return '<p class=\"tm-form__paragraph\">' + esc(f.content || '') + '</p>';\n\n    var req = f.required ? ' required' : '';\n    var reqMark = f.required ? ' <span class=\"tm-form__req\">*</span>' : '';\n    var name = esc(fieldName(f));\n    var help = f.help ? '<span class=\"tm-form__help\">' + esc(f.help) + '</span>' : '';\n    var wrapCls = 'tm-form__field tm-form__field--' + esc(f.width || 'full');\n\n    // Casilla \u00FAnica (aceptar): etiqueta al lado.\n    if (t === 'checkbox') {\n      return '<div class=\"' + wrapCls + '\"><label class=\"tm-form__choice\"><input type=\"checkbox\" name=\"' + name + '\" value=\"yes\"' + req + '><span>' + esc(f.label) + reqMark + '</span></label>' + help + '</div>';\n    }\n    // Grupos de opciones.\n    if (t === 'radio' || t === 'checkbox_group') {\n      var it = t === 'radio' ? 'radio' : 'checkbox';\n      var grp = '';\n      (f.options || []).forEach(function (o, i) {\n        var cn = t === 'radio' ? name : name + '[]';\n        grp += '<label class=\"tm-form__choice\"><input type=\"' + it + '\" name=\"' + esc(cn) + '\" value=\"' + esc(o.value) + '\"' + (t === 'radio' && i === 0 && f.required ? ' required' : '') + '><span>' + esc(o.label) + '</span></label>';\n      });\n      return '<div class=\"' + wrapCls + '\"><span class=\"tm-form__label\">' + esc(f.label) + reqMark + '</span><div class=\"tm-form__choices\">' + grp + '</div>' + help + '</div>';\n    }\n    if (t === 'select') {\n      var opts = '<option value=\"\" disabled' + (f.required ? '' : '') + ' selected>' + esc(f.placeholder || 'Selecciona\u2026') + '</option>';\n      (f.options || []).forEach(function (o) { opts += '<option value=\"' + esc(o.value) + '\">' + esc(o.label) + '</option>'; });\n      return '<div class=\"' + wrapCls + '\"><span class=\"tm-form__label\">' + esc(f.label) + reqMark + '</span><div class=\"tm-form__control\"><select name=\"' + name + '\"' + req + '>' + opts + '</select></div>' + help + '</div>';\n    }\n    if (t === 'file') {\n      return '<div class=\"' + wrapCls + '\"><span class=\"tm-form__label\">' + esc(f.label) + reqMark + '</span><div class=\"tm-form__control\"><input type=\"file\" name=\"' + name + '\"' + req + '></div>' + help + '</div>';\n    }\n\n    // Textos / textarea (soportan etiqueta flotante).\n    var htmlType = (t === 'email' || t === 'tel' || t === 'number' || t === 'date') ? t : 'text';\n    var control = t === 'textarea'\n      ? '<textarea name=\"' + name + '\" rows=\"4\" placeholder=\"' + (float ? ' ' : esc(f.placeholder || '')) + '\"' + req + '></textarea>'\n      : '<input type=\"' + htmlType + '\" name=\"' + name + '\" placeholder=\"' + (float ? ' ' : esc(f.placeholder || '')) + '\"' + req + '>';\n\n    if (float && FLOAT_TYPES[t]) {\n      return '<div class=\"' + wrapCls + ' tm-form__field--float\"><div class=\"tm-form__control\">' + control + '<label class=\"tm-form__label\">' + esc(f.label) + reqMark + '</label></div>' + help + '</div>';\n    }\n    return '<div class=\"' + wrapCls + '\"><label class=\"tm-form__label\">' + esc(f.label) + reqMark + '</label><div class=\"tm-form__control\">' + control + '</div>' + help + '</div>';\n  }\n\n  function renderForm(el, cfg, base) {\n    var s = cfg.settings || {};\n    var st = normStyle(s.style);\n    var fields = cfg.fields || [];\n    var honeypot = s.honeypot !== false;\n    var float = st.label_style === 'floating';\n\n    var cls = 'tm-form'\n      + ' tm-form--' + st.preset\n      + ' tm-form--field-' + st.field_style\n      + ' tm-form--btn-' + st.button_style\n      + ' tm-form--label-' + st.label_style\n      + (st.button_full ? ' tm-form--btn-full' : '');\n    var styleVar = '--tm-accent:' + st.accent + ';--tm-radius:' + st.radius + 'px;';\n\n    var html = '<form class=\"' + cls + '\" style=\"' + styleVar + '\" novalidate>';\n    fields.forEach(function (f) { html += fieldHtml(f, float); });\n    if (honeypot) html += '<div class=\"tm-form__hp\" aria-hidden=\"true\"><label>No rellenar<input type=\"text\" name=\"tm_hp\" tabindex=\"-1\" autocomplete=\"off\"></label></div>';\n    html += '<div class=\"tm-form__actions\"><button type=\"submit\" class=\"tm-form__submit\">' + esc(s.submit_text || 'Enviar') + '</button></div>';\n    html += '<div class=\"tm-form__msg\" role=\"status\" aria-live=\"polite\"></div>';\n    html += '</form>';\n    el.innerHTML = html;\n\n    var form = el.querySelector('form');\n    var msg = el.querySelector('.tm-form__msg');\n    var btn = el.querySelector('.tm-form__submit');\n\n    form.addEventListener('submit', function (e) {\n      e.preventDefault();\n      msg.textContent = '';\n      msg.className = 'tm-form__msg';\n      if (!form.checkValidity()) { form.reportValidity(); return; }\n\n      // Grupos de casillas obligatorios (checkValidity no los cubre).\n      var groupError = null;\n      fields.forEach(function (f) {\n        if (f.type === 'checkbox_group' && f.required && !groupError) {\n          if (!form.querySelector('input[name=\"' + cssEscape(fieldName(f)) + '[]\"]:checked')) groupError = f;\n        }\n      });\n      if (groupError) {\n        msg.className = 'tm-form__msg tm-form__msg--error';\n        msg.textContent = 'Selecciona al menos una opci\u00F3n en \"' + (groupError.label || fieldName(groupError)) + '\".';\n        return;\n      }\n\n      var data = {};\n      fields.forEach(function (f) {\n        if (f.type === 'heading' || f.type === 'paragraph') return;\n        var nm = fieldName(f);\n        if (f.type === 'checkbox_group') {\n          var checked = form.querySelectorAll('input[name=\"' + cssEscape(nm) + '[]\"]:checked');\n          data[nm] = Array.prototype.map.call(checked, function (c) { return c.value; });\n        } else if (f.type === 'radio') {\n          var r = form.querySelector('input[name=\"' + cssEscape(nm) + '\"]:checked');\n          data[nm] = r ? r.value : '';\n        } else if (f.type === 'checkbox') {\n          var c1 = form.querySelector('input[name=\"' + cssEscape(nm) + '\"]');\n          data[nm] = c1 && c1.checked ? 'yes' : '';\n        } else if (f.type === 'file') {\n          var fi = form.querySelector('input[name=\"' + cssEscape(nm) + '\"]');\n          data[nm] = fi && fi.files && fi.files[0] ? fi.files[0].name : ''; // subida real: fase posterior\n        } else {\n          var inp = form.querySelector('[name=\"' + cssEscape(nm) + '\"]');\n          data[nm] = inp ? inp.value : '';\n        }\n      });\n      var hpInput = form.querySelector('input[name=\"tm_hp\"]');\n      var hp = hpInput ? hpInput.value : '';\n\n      btn.disabled = true;\n      var oldLabel = btn.textContent;\n      btn.classList.add('is-loading');\n      btn.textContent = 'Enviando\u2026';\n\n      fetch(base + '/api/forms/submit', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ form_id: cfg.id, data: data, hp: hp, meta: { page_url: location.href, referer: document.referrer } }),\n      })\n        .then(function (r) { return r.json().catch(function () { return {}; }); })\n        .then(function (res) {\n          if (res && res.success) {\n            if (res.redirect_url) {\n              try { var u = new URL(res.redirect_url, location.origin); if (u.protocol === 'http:' || u.protocol === 'https:') { location.href = u.href; return; } } catch (_) {}\n            }\n            el.innerHTML = '<div class=\"tm-form tm-form--' + st.preset + '\" style=\"' + styleVar + '\"><div class=\"tm-form__success\" role=\"status\">' + esc(res.message || '\u00A1Gracias! Hemos recibido tu mensaje.') + '</div></div>';\n          } else {\n            btn.disabled = false; btn.classList.remove('is-loading'); btn.textContent = oldLabel;\n            msg.className = 'tm-form__msg tm-form__msg--error';\n            msg.textContent = (res && res.message) || 'No se pudo enviar. Int\u00E9ntalo de nuevo.';\n          }\n        })\n        .catch(function () {\n          btn.disabled = false; btn.classList.remove('is-loading'); btn.textContent = oldLabel;\n          msg.className = 'tm-form__msg tm-form__msg--error';\n          msg.textContent = 'Error de conexi\u00F3n. Int\u00E9ntalo de nuevo.';\n        });\n    });\n  }\n\n  function hydrate(el) {\n    if (el.getAttribute('data-tm-hydrated')) return;\n    el.setAttribute('data-tm-hydrated', '1');\n    var id = el.getAttribute('data-tm-form');\n    if (!id) return;\n    var base = (el.getAttribute('data-api') || API).replace(/\\/$/, '');\n    var cacheKey = base + '|' + id;\n\n    var done = function (cfg) {\n      if (!cfg || cfg.error) { el.innerHTML = ''; return; }\n      renderForm(el, cfg, base);\n    };\n    if (cache[cacheKey]) { done(cache[cacheKey]); return; }\n    fetch(base + '/api/forms/public/' + encodeURIComponent(id))\n      .then(function (r) { return r.ok ? r.json() : null; })\n      .then(function (cfg) { cache[cacheKey] = cfg; done(cfg); })\n      .catch(function () { el.innerHTML = ''; });\n  }\n\n  // \u2500\u2500 Pop-up: cualquier elemento con data-tm-form-popup=\"ID\" abre el formulario\n  // en un modal (sustituye los popups de Powerful Form Builder, ya desinstalado).\n  var POPUP_UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\n  function ensurePopupStyles() {\n    if (document.getElementById('tm-form-popup-css')) return;\n    var tag = document.createElement('style');\n    tag.id = 'tm-form-popup-css';\n    tag.textContent =\n      '.tm-form-popup{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55)}' +\n      '.tm-form-popup.is-open{display:flex}' +\n      '.tm-form-popup__dialog{position:relative;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;padding:30px 22px 22px;box-shadow:0 24px 60px rgba(0,0,0,.35)}' +\n      '.tm-form-popup__close{position:absolute;top:8px;right:10px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#666;padding:6px;z-index:1}' +\n      '.tm-form-popup__close:hover{color:#000}' +\n      'html.tm-form-popup-lock,html.tm-form-popup-lock body{overflow:hidden}' +\n      '@media (max-width:600px){.tm-form-popup{padding:12px}.tm-form-popup__dialog{padding:26px 14px 14px}}';\n    document.head.appendChild(tag);\n  }\n\n  function closePopup(overlay) {\n    overlay.classList.remove('is-open');\n    document.documentElement.classList.remove('tm-form-popup-lock');\n  }\n\n  function openPopup(id) {\n    if (!POPUP_UUID.test(id || '')) return;\n    ensurePopupStyles();\n    var overlay = document.querySelector('.tm-form-popup[data-form=\"' + id + '\"]');\n    if (!overlay) {\n      overlay = document.createElement('div');\n      overlay.className = 'tm-form-popup';\n      overlay.setAttribute('data-form', id);\n      overlay.innerHTML =\n        '<div class=\"tm-form-popup__dialog\" role=\"dialog\" aria-modal=\"true\">' +\n        '<button type=\"button\" class=\"tm-form-popup__close\" aria-label=\"Cerrar\">&times;</button>' +\n        '<div data-tm-form=\"' + id + '\"></div>' +\n        '</div>';\n      document.body.appendChild(overlay);\n      hydrate(overlay.querySelector('[data-tm-form]'));\n      overlay.addEventListener('click', function (e) {\n        if (e.target === overlay || (e.target.closest && e.target.closest('.tm-form-popup__close'))) closePopup(overlay);\n      });\n    }\n    overlay.classList.add('is-open');\n    document.documentElement.classList.add('tm-form-popup-lock');\n  }\n\n  // Mapa de formularios antiguos de PFB (app desinstalada) \u2192 formularios propios.\n  // Revive botones/divs legacy pegados en el CONTENIDO de p\u00E1ginas y art\u00EDculos,\n  // que no se pueden editar por API. data-id lleva el id num\u00E9rico en base64.\n  var PFB_MAP = {\n    '125081': '910870f4-8abd-4bd9-846d-48d60144b4c7', // form principal de oficios \u2192 Solicitud de reforma\n    '123411': '910870f4-8abd-4bd9-846d-48d60144b4c7', // 2\u00BA form de reformas \u2192 Solicitud de reforma\n    '123414': '910870f4-8abd-4bd9-846d-48d60144b4c7', // reformista Madrid \u2192 Solicitud de reforma\n    '114078': 'c0df5a43-b2aa-405f-ae5b-50053553b49b', // cont\u00E1ctanos \u2192 Cont\u00E1ctanos\n    '93009': '385f6aa0-68e9-4a24-9c73-15a42c279dc9', // proveedores \u2192 Proveedores\n  };\n  var PFB_DEFAULT_POPUP = '910870f4-8abd-4bd9-846d-48d60144b4c7'; // los botones dicen \"Solicita presupuesto\"\n\n  function decodePfbId(b64) {\n    try { return atob(String(b64 || '').trim()).replace(/\\D/g, ''); } catch (e) { return ''; }\n  }\n\n  document.addEventListener('click', function (e) {\n    var trigger = e.target && e.target.closest && e.target.closest('[data-tm-form-popup]');\n    if (trigger) {\n      e.preventDefault();\n      e.stopPropagation();\n      openPopup(trigger.getAttribute('data-tm-form-popup'));\n      return;\n    }\n    var legacy = e.target && e.target.closest && e.target.closest('.globo-formbuilder-open');\n    if (legacy) {\n      e.preventDefault();\n      e.stopPropagation();\n      openPopup(PFB_MAP[decodePfbId(legacy.getAttribute('data-id'))] || PFB_DEFAULT_POPUP);\n    }\n  });\n\n  document.addEventListener('keydown', function (e) {\n    if (e.key !== 'Escape') return;\n    var open = document.querySelector('.tm-form-popup.is-open');\n    if (open) closePopup(open);\n  });\n\n  function scan() {\n    // Divs legacy de PFB incrustados en contenido: se convierten en formulario propio si hay mapeo\n    Array.prototype.forEach.call(document.querySelectorAll('div.globo-formbuilder[data-id]:not([data-tm-form])'), function (el) {\n      var fid = PFB_MAP[decodePfbId(el.getAttribute('data-id'))];\n      if (fid) el.setAttribute('data-tm-form', fid);\n    });\n    Array.prototype.forEach.call(document.querySelectorAll('[data-tm-form]'), hydrate);\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scan);\n  else scan();\n  document.addEventListener('shopify:section:load', scan);\n})();\n"],
  "mappings": "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",
  "names": []
}
