import * as _angular_core from '@angular/core'; import { FoldIconName } from 'fold-ng'; /** A draggable panel position, in viewport pixels (top-left origin). `null` * until the first drag — the panel sits in its default corner via CSS. */ interface DevtoolPos { readonly x: number; readonly y: number; } declare const SIZE_STEPS: readonly ["xs", "sm", "md", "lg", "xl"]; type IconSize = (typeof SIZE_STEPS)[number]; /** A category section rendered in the grid: its label, count, and members. */ interface IconCategory { readonly id: string; readonly label: string; readonly names: readonly FoldIconName[]; } /** * `` — a **dev-only** floating panel that browses the live * {@link FoldIconRegistry} (built-ins + whatever the host app has registered), * with a search, a preview grid, and a mini playground that builds a * `` snippet and copies it to the clipboard. The panel is **draggable** * (grab the header) and **minimisable** (collapses to a pill). * * **Ship it behind a dev guard.** It is published from the opt-in `fold-ng/devtools` * entry so it never lands in a bundle that doesn't ask for it; import it only on a * dev path so a production build tree-shakes it away: * * ```ts * import { isDevMode, signal } from "@angular/core"; * protected readonly showIconTool = signal(false); * // template: @if (showIconTool()) { } * // …and only reach the import behind `if (isDevMode())`. * ``` * * @selector `fold-icon-devtool` */ declare class FoldIconDevtoolComponent { private readonly registry; /** Emitted when the user closes the panel — the host should stop rendering it. */ readonly closed: _angular_core.OutputEmitterRef; protected readonly sizeSteps: readonly ["xs", "sm", "md", "lg", "xl"]; /** Collapsed to a pill (header only). */ protected readonly minimized: _angular_core.WritableSignal; /** Free-drag position; `null` = docked in the default corner (CSS). */ protected readonly pos: _angular_core.WritableSignal; /** The live registry names (built-ins + host-registered), sorted. */ private readonly allNames; protected readonly query: _angular_core.WritableSignal; /** Names matching the search (case-insensitive substring). */ protected readonly matches: _angular_core.Signal; /** Category ids the user has collapsed (folded to their header). */ private readonly collapsed; /** * The matches grouped into category sections, in built-in order, with a * trailing **Custom** bucket for host-registered icons. Empty categories are * dropped so a search only shows the themes it actually hit. */ protected readonly categories: _angular_core.Signal; /** Whether a category section is folded to its header. */ protected isCollapsed(id: string): boolean; protected toggleCategory(id: string): void; /** The icon selected into the playground (empty = none). */ /** The icon under the playground — `null`, not `""`, for "none picked": an * empty string is not a name, and the template already branches on it. */ protected readonly selected: _angular_core.WritableSignal; /** Playground size preset. */ protected readonly size: _angular_core.WritableSignal<"xs" | "sm" | "md" | "lg" | "xl">; /** The snippet the copy button writes — size only emitted when non-default. */ protected readonly snippet: _angular_core.Signal; /** Flashes true briefly after a successful copy. */ protected readonly copied: _angular_core.WritableSignal; protected select(name: FoldIconName): void; protected setSize(size: IconSize): void; protected onSearch(event: Event): void; protected copy(): void; protected toggleMinimize(): void; protected close(): void; private dragDx; private dragDy; protected onDragStart(event: PointerEvent): void; protected onDragMove(event: PointerEvent): void; protected onDragEnd(event: PointerEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { FoldIconDevtoolComponent }; //# sourceMappingURL=fold-ng-src-devtools.d.ts.map