/** * Hoover — index.js * * Barrel export of all public Hoover APIs. */ /* ── Reactivity ──────────────────────────────────────────────── */ export { reactive, requestUpdate } from './reactivity.js'; /* ── VDOM ────────────────────────────────────────────────────── */ export { h } from './vdom.js'; /* ── HTM ──────────────────────────────────────────────────────── */ export { html } from './html.js'; /* ── Render ──────────────────────────────────────────────────── */ export { render } from './render.js'; /* ── Component ───────────────────────────────────────────────── */ export { definePage, hComp } from './component.js'; /* ── Router ──────────────────────────────────────────────────── */ export { createRouter, Link } from './router.js'; /* ── WebSocket ───────────────────────────────────────────────── */ export { connect, onMessage } from './websocket.js'; /* ── API & Toast ─────────────────────────────────────────────── */ export { apiFetch, toast, dismissToast, apiSubmit, checkAbort, poll, refactorLoad, formAction, setAuthToken, clearAuthTokens, getAuthToken } from './api.js'; /* ── UI Components: Auth ──────────────────────────────────────── */ export { scheduleTokenRefresh, cancelTokenRefresh, checkSession, logout, initAuth, handleLoginSuccess, webauthnSupported, startRegistration, startAuthentication } from './components/auth.js'; /* ── Model ───────────────────────────────────────────────────── */ export { modelRegister, getModel, modelFetch, collectLoadingModels } from './model.js'; /* ── Helpers ─────────────────────────────────────────────────── */ export { esc, att_esc, enc, $val, parseZones, downloadBlob } from './helpers.js'; /* ── UI Components: Layout ───────────────────────────────────── */ export { PageHeader, renderGuard, renderGuardMulti, Tabs, SectionTitle, ActionGroup, DataTableSection } from './components/layout.js'; /* ── UI Components: Data ─────────────────────────────────────── */ export { Badge, StatusDot, Empty, Card, ConfirmDelete, Table, ActionButton, certStatusBadge, serviceStatusBadge, StatCard, StatusText, ServiceStatus, ActionCell, MonoText, ZoneSelect } from './components/data.js'; /* ── UI Components: Modal ────────────────────────────────────── */ export { openModal, closeModal, closeAllModals, modalVNodes, refreshModals, formModal, MultiSelectModal, QuickModal, isModalProcessing, setModalProcessing } from './components/modal.js'; /* ── UI Components: Apply ────────────────────────────────────── */ export { ApplyConfirm } from './components/applyconfirm.js'; /* ── UI Components: Toast ────────────────────────────────────── */ export { ToastContainer } from './components/toast.js'; /* ── UI Components: QR Code ──────────────────────────────────── */ export { qrSVG, QRCodeVNode, LogoUpload } from './components/qr.js';