// core/utils.js import { $, h } from "sigpro"; export const val = t => typeof t === "function" ? t() : t; export const ui = (baseClass, additionalClassOrFn) => typeof additionalClassOrFn === "function" ? () => `${baseClass} ${additionalClassOrFn() || ""}`.trim() : `${baseClass} ${additionalClassOrFn || ""}`.trim(); export const getIcon = (icon) => { if (!icon) return null; if (typeof icon === 'function') { return h("span", { class: "mr-1" }, icon()); } if (typeof icon === 'object') { return h("span", { class: "mr-1" }, icon); } if (typeof icon === 'string') { const parts = icon.trim().split(/\s+/); const hasRight = parts[parts.length - 1] === 'right'; const iconClass = hasRight ? parts.slice(0, -1).join(' ') : icon; const spacing = hasRight ? 'ml-1' : 'mr-1'; if (iconClass && !iconClass.startsWith('icon-[') && !iconClass.includes('--')) { return h("span", { class: spacing }, iconClass); } return h("span", { class: `${iconClass} ${spacing}`.trim() }); } return null; }; export const i18n = { es: { close: "Cerrar", confirm: "Confirmar", cancel: "Cancelar", search: "Buscar...", loading: "Cargando...", nodata: "Sin datos" }, en: { close: "Close", confirm: "Confirm", cancel: "Cancel", search: "Search...", loading: "Loading...", nodata: "No data" } }; export const currentLocale = $("es"); // Export design export const Locale = t => currentLocale(t); export const tt = t => () => i18n[currentLocale()][t] || t;