PettyUI/packages/core/tsdown.config.ts
Mats Bosson 8f075f1792 feat: add 12 components — Tooltip, Popover, HoverCard, Alert, Badge,
Skeleton, Breadcrumbs, Link, Button, Image, Meter, NumberField
Floating components: Tooltip (hover/focus), Popover (click, with focus
trap and dismiss), HoverCard (hover with safe area).
Simple components: Alert (role=alert), Badge (role=status), Skeleton
(loading placeholder with data attributes).
Navigation: Breadcrumbs (nav>ol>li with separators), Link (accessible
anchor with disabled), Button (with disabled click suppression).
Data/Form: Image (Img+Fallback with loading status), Meter (like
Progress for known ranges), NumberField (spinbutton with inc/dec).
302 tests across 46 files, typecheck clean, build produces 176 files.
2026-03-29 19:34:13 +07:00

24 lines
952 B
TypeScript

import { defineConfig } from "tsdown";
const components = [
"dialog", "separator", "toggle", "switch", "checkbox", "progress", "text-field",
"radio-group", "toggle-group", "collapsible", "accordion", "alert-dialog", "tabs",
"slider", "pagination", "drawer", "listbox", "select", "combobox", "dropdown-menu",
"context-menu", "toast", "tooltip", "popover", "hover-card", "alert", "badge",
"skeleton", "breadcrumbs", "link", "button", "image", "meter", "number-field",
];
const utilities = ["presence", "focus-trap", "scroll-lock", "dismiss", "portal", "visually-hidden"];
const entry: Record<string, string> = {};
for (const c of components) entry[`${c}/index`] = `src/components/${c}/index.ts`;
for (const u of utilities) entry[`${u}/index`] = `src/utilities/${u}/index.ts`;
export default defineConfig({
entry,
format: ["esm", "cjs"],
dts: true,
clean: true,
sourcemap: true,
external: ["solid-js", "solid-js/web", "solid-js/store"],
});