// Generated from custom-elements.json by scripts/generate-types.js — do not edit import { LitElement } from 'lit'; /** * `` */ export declare class ArcAccordion extends LitElement { /** When true, allows multiple accordion panels to be open simultaneously. When false (default), opening one panel closes any other open panel. @default false */ multiple: boolean; } /** * `` */ export declare class ArcAccordionItem extends LitElement { /** Answer content from slotted children */ answer: unknown; /** The heading text displayed on the trigger button. Should be a concise, scannable label or question. @default '' */ question: string; } /** * `` */ export declare class ArcActivityHeatmap extends LitElement { /** The newest day shown, as an ISO string (YYYY-MM-DD). Unset: today in the browser; on the server, the newest date in `data` (see above). @default '' */ endDate: string; /** How many week columns to render, counting back from the week containing the end date (default 52), at least 1. The last column is truncated after the end date, so the newest cell is always the end date itself. @default 52 */ weeks: number; /** Which day starts each column: "sunday" (default, the GitHub convention) or "monday". An unrecognised value falls back to sunday. @default 'sunday' */ weekStart: 'sunday' | 'monday'; /** Whether to render the Less→More swatch strip under the grid. Default true; disable from markup with either `no-legend` or `legend="false"`. @default true */ legend: boolean; /** One entry per day with activity: an ISO `date` (YYYY-MM-DD), a numeric `value` mapped to the intensity ramp, and an optional `label` shown in the hover detail in place of the bare value (e.g. "7 commits"). Days in the rendered span with no entry render as empty cells, so sparse data is fine. Set it from script, a framework binding, or a JSON attribute. @default [] */ data: Array<{date: string, value: number, label?: string}>; /** When set, intensity is a linear scale from 0 to this value instead of the default quartile mapping: each nonzero value lands on step 1-4 by `value / max`. Values at or above `max` render as step 4. @default 0 */ max: number; } /** * `` * Events: arc-close */ export declare class ArcAlert extends LitElement { /** Severity → ARIA role. V4-SCOPE §3.2, ratified 2026-08-13. `arc-alert` already implemented role-follows-severity, so most of this is a ratification of what the component did. The exception is `info`, and it is the reason the row needed a decision at all: `info` used to map to `role="status"`, which *is* a polite live region. `arc-callout`'s default variant is `info` and it was a static `role="note"` box — so a naive merge would have upgraded every informational callout on every page into an announcement, landing the regression on the single most common variant. **So `info` is `note` now, and that is a behaviour change for existing `arc-alert` users too**, not only for callout's. The reasoning: `info` is the variant most likely to be static page furniture, and an alert that genuinely needs announcing has two ways to say so — pick a severity that carries one, or set `live`. @default { error: 'alert', warning: 'alert', success: 'status', info: 'note', tip: 'note', } */ ROLES: Record; /** Optional bold heading rendered above the body slot. Use it for a scannable one-line summary so users can quickly gauge the alert's importance before reading the full message. @default '' */ heading: string; /** Controls the semantic color palette, the icon, and — through the `ROLES` table — the ARIA role and whether the alert is announced. Use "info" for neutral guidance, "tip" for advice, "success" for confirmations, "warning" for caution states, and "error" for failures or blocking issues. @default 'info' */ variant: 'info' | 'tip' | 'success' | 'warning' | 'error'; /** Announcement behaviour. `auto` (the default) derives it from `variant`: error and warning are assertive, success is polite, info and tip are not announced at all. Set it explicitly when severity and urgency disagree — an `info` alert injected after a background save wants `polite`; a `warning` rendered in the initial page probably wants `off`. @default 'auto' */ live: 'auto' | 'off' | 'polite' | 'assertive'; /** When true, renders a close button in the top-right corner. Clicking it removes the alert from the DOM and fires an "arc-close" event that parent components can listen to. @default false */ dismissible: boolean; /** Visual density. 'compact' reduces padding and font sizes for inline or space-constrained usage. @default 'default' */ density: 'default' | 'compact'; } /** * `` * Events: arc-change */ export declare class ArcAnchorNav extends LitElement { /** The value of the currently active link. Controls which item is highlighted. @default '' */ value: string; /** Declarative list of items to render. Each object needs a label (display text) and value (identifier). Alternative to slotting children. @default [] */ items: Array<{label: string, value: string}>; /** Layout direction. Vertical renders a column of links; horizontal renders a row. @default 'horizontal' */ orientation: 'vertical' | 'horizontal'; } /** * `` */ export declare class ArcAnimatedNumber extends LitElement { /** Target number to animate to @default 0 */ value: number; /** String prepended before the number (e.g., "$") @default '' */ prefix: string; /** String appended after the number (e.g., "%") @default '' */ suffix: string; /** Number of fixed decimal places @default 0 */ decimals: number; /** BCP 47 locale tag passed to Intl.NumberFormat for locale-aware number formatting (thousands separators, decimal marks). @default 'en-US' */ locale: string; /** Animation duration in milliseconds @default 1000 */ duration: number; /** Controls how the number is formatted using Intl.NumberFormat. Use currency with a prefix like $ or percent with a suffix like %. @default 'number' */ format: 'number' | 'currency' | 'percent'; } /** * `` */ export declare class ArcAnnouncement extends LitElement { /** The text to announce to screen readers. Each time this property changes, a new announcement is triggered. @default '' */ message: string; /** Controls the ARIA live region politeness level. Polite waits for the screen reader to finish before announcing; assertive interrupts immediately. @default 'polite' */ politeness: 'polite' | 'assertive'; } /** * `` * Events: arc-sidebar-toggle */ export declare class ArcAppShell extends LitElement { /** Viewport width in pixels at which the layout switches between mobile and desktop modes. */ breakpoint: number; /** Controls whether the sidebar is visible on mobile viewports (below 768 px). On desktop the sidebar is always shown regardless of this attribute. Toggle it from a hamburger button in your TopBar to give mobile users access to navigation. @default false */ sidebarOpen: boolean; /** Fills the container instead of the viewport. The shell takes the height you give it (`height: 100%` of a bounded parent, or any length), its content area becomes the scroll context rather than the page, and the sidebar rail is stretched by the body rather than sized from the screen — a sticky rail has nothing to stick against once the page is not what scrolls. Use it for a shell inside a card, a dashboard cell, a split pane, or a documentation preview; leave it off for the full-page layout, which is what the component is for. @default false */ embedded: boolean; } /** * `` */ export declare class ArcAspectGrid extends LitElement { /** Number of columns in the grid. Each column is equal width (1fr). @default 3 */ columns: number; /** Aspect ratio applied to every cell. 1/1 for squares, 16/9 for widescreen, 4/3 for classic landscape. @default '1/1' */ ratio: '1/1' | '16/9' | '4/3'; /** Spacing between grid cells, mapped to design system spacing tokens (--space-sm, --space-md, --space-lg). @default 'md' */ gap: 'sm' | 'md' | 'lg'; } /** * `` */ export declare class ArcAspectRatio extends LitElement { /** The documented default, and what anything unusable normalises to. @default '16/9' */ DEFAULT_RATIO: string; /** Aspect ratio as a `W/H` string. Supports integers and decimals. An unparseable value, or one with a zero on either side, is normalised **on the property** to `16/9` — so reading `ratio` back always gives the ratio the component is actually using. @default '16/9' */ ratio: string; } /** * `` */ export declare class ArcAuthShell extends LitElement { /** Controls the page layout. Centered places a single card in the middle of the viewport, best for focused credential flows. Split divides the viewport into a form side and an aside panel for marketing content or illustrations. On mobile, split collapses to a single-column centered layout automatically. @default 'centered' */ variant: 'centered' | 'split'; } /** * `` */ export declare class ArcAvatar extends LitElement { /** Image URL for the avatar. When provided, renders an `` element. When empty, displays initials derived from the `name` prop. @default '' */ src: string; /** User name used to generate initials (first letter, uppercased) and as the `alt` text / `aria-label` for the avatar. @default '' */ name: string; /** Controls avatar dimensions: `sm` (32px), `md` (40px), `lg` (56px). @default 'md' */ size: 'sm' | 'md' | 'lg'; /** Shows a status indicator dot. Empty (the default) shows none. An unrecognised value falls back to empty rather than rendering an uncoloured dot that screen readers announce by its bogus name. @default '' */ status: '' | 'online' | 'offline' | 'busy' | 'away'; /** Controls the avatar shape. Options: 'circle', 'square', 'rounded'. @default 'circle' */ shape: 'circle' | 'square' | 'rounded'; } /** * `` */ export declare class ArcAvatarGroup extends LitElement { /** Maximum number of avatars to display. Excess avatars are hidden and a "+N" overflow badge is shown. @default Infinity */ max: number; /** Overlap density preset. sm = -8px, md = -12px, lg = -16px negative margin between avatars. @default 'md' */ overlap: 'sm' | 'md' | 'lg'; } /** * `` */ export declare class ArcBadge extends LitElement { /** Custom RGB color value (e.g. `"255, 100, 50"`) that overrides the variant color. Sets the border, text, background tint, and hover glow to the specified color. @default '' */ color: string; /** Controls the badge color scheme. Default renders a neutral gray. Primary and secondary use the accent token colors. Success, warning, error, and info map to the corresponding semantic color tokens for status-oriented labels. @default 'default' */ variant: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info'; /** Controls the badge size. Options: 'sm', 'md', 'lg'. @default 'md' */ size: 'sm' | 'md' | 'lg'; } /** * `` * Events: arc-close */ export declare class ArcBanner extends LitElement { /** Controls the semantic color palette and icon. Use "info" for neutral announcements, "success" for positive confirmations, "warning" for caution states, and "error" for outages or critical failures. @default 'info' */ variant: 'info' | 'success' | 'warning' | 'error'; /** When true, renders a close button on the right side. Clicking it collapses the banner and fires an "arc-close" event. @default false */ dismissible: boolean; /** When true, pins the banner to the top of the viewport with position: sticky so it remains visible as the user scrolls. @default false */ sticky: boolean; } /** * `` */ export declare class ArcBlockquote extends LitElement { /** Citation or attribution text displayed beneath the quote with an em dash prefix @default '' */ cite: string; /** Visual variant. Accent applies a gradient text fill to the quote content. @default 'default' */ variant: 'default' | 'accent'; } /** * `` * Events: arc-change */ export declare class ArcBottomNav extends LitElement { /** Array of navigation items, each with a label, icon name, and value identifier. @default [] */ items: Array<{label: string, icon?: string, value: string}>; /** The value of the currently active item. Controls which item is highlighted. @default '' */ value: string; } /** * `` * Events: arc-navigate */ export declare class ArcBreadcrumb extends LitElement { /** Character used as the separator between breadcrumb items. Common options: '/', '>', '•'. @default '/' */ separator: string; /** @default 'Breadcrumb' */ label: string; } /** * `` */ export declare class ArcBreadcrumbItem extends LitElement { /** Destination, preferring the explicit attribute over an anchor child. Authoring `Docs` leaves a working trail in the pre-upgrade markup — arc-breadcrumb hides this light DOM only once it has re-rendered it into shadow DOM. */ resolvedHref: unknown; /** textContent already reaches through an anchor child, so this needs no special case. */ label: unknown; /** Navigation URL for this crumb. When provided, the crumb renders as a clickable link styled in muted text that brightens on hover. Omit this property on the final item to mark it as the current page -- it will receive `aria-current="page"` and the primary text color automatically. @default '' */ href: string; } /** * `` * Events: arc-navigate */ export declare class ArcBreadcrumbMenu extends LitElement { /** @default 'Breadcrumb' */ label: string; /** Array of breadcrumb items. Each item has a label and href. Optionally include a siblings array to enable a dropdown at that level. @default [] */ items: Array<{label: string, href?: string, siblings?: Array<{label: string, href?: string}>}>; } /** * `` */ export declare class ArcButton extends LitElement { /** When provided, the button renders as an element instead of a