import type { Icon } from "@trackunit/react-components"; import type { ComponentProps } from "react"; export type MapFocusTierDisplay = Readonly<{ /** Icon name for the marker icon slot and future legend. */ iconName?: ComponentProps["name"]; /** Hex color driving the marker (symbol + DOM) and future chart slice. */ color?: string; /** Optional static label override used by future focus controls. */ label?: string; }>; export type MapFocusTier = Readonly<{ match: (asset: TAsset) => boolean; /** Absent means this tier has no visual representation. */ display?: MapFocusTierDisplay; }>; /** * Configurable policy driving marker expansion, icon, and color from a * single asset property. Tiers are evaluated in order; first match wins. */ export type MapFocus = Readonly<{ /** * Stable id used by feature state (for example persisted user preference) * instead of serializing predicate functions. */ id: string; tiers: ReadonlyArray>; }>; export { buildExpandedIds } from "./buildExpandedIds"; export { useExpandedIds } from "./useExpandedIds";