Function bodies 54 total
translateError function · javascript · L78-L84 (7 LOC)toast.js
export function translateError(msg) {
if (!msg) return 'Ocurrió un error inesperado.';
for (const [regex, translation] of ERROR_MAP) {
if (regex.test(msg)) return translation;
}
return msg;
}showConfirm function · javascript · L87-L119 (33 LOC)toast.js
export function showConfirm(message, { confirmText = 'Confirmar', cancelText = 'Cancelar', danger = true } = {}) {
return new Promise(resolve => {
const overlay = document.createElement('div');
overlay.style.cssText = [
'position:fixed','inset:0','background:rgba(0,0,0,0.45)',
'z-index:99998','display:flex','align-items:center','justify-content:center',
'padding:16px','animation:toastIn 0.2s ease',
].join(';');
const box = document.createElement('div');
box.style.cssText = [
'background:white','border-radius:16px','padding:28px 24px','max-width:360px',
'width:100%','box-shadow:0 20px 60px rgba(0,0,0,0.25)','text-align:center',
].join(';');
box.innerHTML = `
<div style="font-size:2rem;margin-bottom:12px">${danger ? '⚠️' : 'ℹ️'}</div>
<p style="font-size:0.95rem;color:#1a2332;line-height:1.6;margin-bottom:20px;font-weight:500">${message.replace(/\n/g,'<br>')}</p>
<div style="display:flex;gap:10px;justify-contfieldValidation function · javascript · L124-L161 (38 LOC)toast.js
export function fieldValidation(rules) {
const getEl = id => document.getElementById(id);
const getMsg = id => {
let m = document.getElementById(`_fv_${id}`);
if (!m) {
m = document.createElement('div');
m.id = `_fv_${id}`;
m.style.cssText = 'font-size:0.78rem;color:#ef4444;margin-top:3px;min-height:16px;transition:opacity 0.2s';
getEl(id)?.parentNode?.appendChild(m);
}
return m;
};
rules.forEach(({ id, validate, event = 'input' }) => {
const el = getEl(id);
if (!el) return;
el.addEventListener(event, () => {
const err = validate(el.value);
const msg = getMsg(id);
msg.textContent = err || '';
el.style.borderColor = err ? '#ef4444' : '';
});
});
return function checkAll() {
let ok = true;
rules.forEach(({ id, validate }) => {
const el = getEl(id);
if (!el) return;
const err = validate(el.value);
const msg = getMsg(id);
msg.textContent = err || '';
ewithLoading function · javascript · L164-L176 (13 LOC)toast.js
export function withLoading(btn, fn, loadingText = 'Procesando...') {
return async function (...args) {
if (!btn) return fn(...args);
const original = btn.innerHTML;
btn.disabled = true;
btn.innerHTML = `<span style="display:inline-flex;align-items:center;gap:7px;">
<svg style="animation:spin 0.8s linear infinite" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/></svg>
${loadingText}
</span>`;
try { await fn(...args); }
finally { btn.disabled = false; btn.innerHTML = original; }
};
}‹ prevpage 2 / 2