"use client"; import { useState } from "react"; import type { IssuePriority, UpdateIssueRequest } from "@multica/core/types"; import { PRIORITY_ORDER, PRIORITY_CONFIG } from "@multica/core/issues/config"; import { PriorityIcon } from "../priority-icon"; import { PropertyPicker, PickerItem } from "./property-picker"; export function PriorityPicker({ priority, onUpdate, trigger: customTrigger, triggerRender, open: controlledOpen, onOpenChange: controlledOnOpenChange, align, }: { priority: IssuePriority; onUpdate: (updates: Partial) => void; trigger?: React.ReactNode; triggerRender?: React.ReactElement; open?: boolean; onOpenChange?: (v: boolean) => void; align?: "start" | "center" | "end"; }) { const [internalOpen, setInternalOpen] = useState(false); const open = controlledOpen ?? internalOpen; const setOpen = controlledOnOpenChange ?? setInternalOpen; const cfg = PRIORITY_CONFIG[priority]; return ( {cfg.label} ) } > {PRIORITY_ORDER.map((p) => { const c = PRIORITY_CONFIG[p]; return ( { onUpdate({ priority: p }); setOpen(false); }} > {c.label} ); })} ); }