organify-ui 0.3.42 → 0.3.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1074,22 +1074,26 @@ interface KanbanBoardProps {
1074
1074
  /** When provided, fires on task click instead of opening internal sheet.
1075
1075
  * The parent then renders its own TaskDetailSheet with full data (subtasks, comments). */
1076
1076
  onTaskClick?: (taskId: string) => void;
1077
+ /** When provided, fires on right-click on a task card. Receives (taskId, mouseEvent). */
1078
+ onTaskContextMenu?: (taskId: string, e: React.MouseEvent) => void;
1077
1079
  }
1078
1080
  interface TaskCardProps {
1079
1081
  task: KanbanTask;
1080
1082
  columnId: string;
1081
1083
  index: number;
1082
1084
  onClick: () => void;
1085
+ onContextMenu?: (taskId: string, e: React.MouseEvent) => void;
1083
1086
  isDragging?: boolean;
1084
1087
  externalDnD?: boolean;
1085
1088
  onDragStart?: (e: React.DragEvent, task: KanbanTask, columnId: string) => void;
1086
1089
  onDragEnd?: () => void;
1087
1090
  onTouchDragStart?: (task: KanbanTask, columnId: string) => void;
1088
1091
  }
1089
- declare function TaskCard({ task, columnId, index, onClick, isDragging, externalDnD, onDragStart, onDragEnd, onTouchDragStart, }: TaskCardProps): react_jsx_runtime.JSX.Element;
1092
+ declare function TaskCard({ task, columnId, index, onClick, onContextMenu, isDragging, externalDnD, onDragStart, onDragEnd, onTouchDragStart, }: TaskCardProps): react_jsx_runtime.JSX.Element;
1090
1093
  interface ColumnComponentProps {
1091
1094
  column: KanbanColumnData;
1092
1095
  onTaskClick: (task: KanbanTask, columnId: string) => void;
1096
+ onTaskContextMenu?: (taskId: string, e: React.MouseEvent) => void;
1093
1097
  onAddTask?: (columnId: string, title?: string) => void;
1094
1098
  onRenameColumn?: (columnId: string, newTitle: string) => void;
1095
1099
  onEditColumn?: (columnId: string, data: Partial<Omit<ColumnEditData, 'id'>>) => Promise<void> | void;
@@ -1106,15 +1110,67 @@ interface ColumnComponentProps {
1106
1110
  isDropTarget?: boolean;
1107
1111
  onTouchDragStart?: (task: KanbanTask, columnId: string) => void;
1108
1112
  }
1109
- declare function Column({ column, onTaskClick, onAddTask, onRenameColumn, onEditColumn, onDeleteColumn, externalDnD, draggedTask, onDragStart, onDragEnd, onDragOver, onDrop, isDropTarget, onTouchDragStart, }: ColumnComponentProps): react_jsx_runtime.JSX.Element;
1113
+ declare function Column({ column, onTaskClick, onTaskContextMenu, onAddTask, onRenameColumn, onEditColumn, onDeleteColumn, externalDnD, draggedTask, onDragStart, onDragEnd, onDragOver, onDrop, isDropTarget, onTouchDragStart, }: ColumnComponentProps): react_jsx_runtime.JSX.Element;
1110
1114
  declare namespace Column {
1111
1115
  var displayName: string;
1112
1116
  }
1113
- declare function KanbanBoard({ columns, onColumnChange, onTaskMove, onAddTask, onAddColumn, onRenameColumn, onEditColumn, onDeleteColumn, className, externalDnD, onTaskUpdate, onToggleLabel, onCreateLabel, availableLabels, onAddLabel, onRemoveLabel, onToggleAssignee, availableUsers, availableGroups, onToggleAssigneeGroup, onAddAssignee, onRemoveAssignee, onAddSubtask, onToggleSubtask, onDeleteSubtask, onDeleteTask, onUpdateSubtask, onTaskClick, }: KanbanBoardProps): react_jsx_runtime.JSX.Element;
1117
+ declare function KanbanBoard({ columns, onColumnChange, onTaskMove, onAddTask, onAddColumn, onRenameColumn, onEditColumn, onDeleteColumn, className, externalDnD, onTaskContextMenu, onTaskUpdate, onToggleLabel, onCreateLabel, availableLabels, onAddLabel, onRemoveLabel, onToggleAssignee, availableUsers, availableGroups, onToggleAssigneeGroup, onAddAssignee, onRemoveAssignee, onAddSubtask, onToggleSubtask, onDeleteSubtask, onDeleteTask, onUpdateSubtask, onTaskClick, }: KanbanBoardProps): react_jsx_runtime.JSX.Element;
1114
1118
  declare namespace KanbanBoard {
1115
1119
  var displayName: string;
1116
1120
  }
1117
1121
 
1122
+ interface PickerLabel {
1123
+ id: string;
1124
+ name: string;
1125
+ color: string;
1126
+ }
1127
+ interface LabelPickerProps {
1128
+ /** Currently selected labels */
1129
+ selectedLabels: PickerLabel[];
1130
+ /** Available labels to choose from */
1131
+ availableLabels: PickerLabel[];
1132
+ /** Called when a label is toggled (selected/deselected) */
1133
+ onToggle: (label: PickerLabel) => void;
1134
+ /** Called when a new label is created. If it returns a PickerLabel, the label is automatically toggled. */
1135
+ onCreate?: (name: string, color: string) => PickerLabel | Promise<PickerLabel | void> | void;
1136
+ /** Custom trigger button (optional) */
1137
+ trigger?: React.ReactNode;
1138
+ /** Whether the picker is disabled */
1139
+ disabled?: boolean;
1140
+ }
1141
+ declare function LabelPicker({ selectedLabels, availableLabels, onToggle, onCreate, trigger, disabled, }: LabelPickerProps): react_jsx_runtime.JSX.Element;
1142
+ declare namespace LabelPicker {
1143
+ var displayName: string;
1144
+ }
1145
+
1146
+ interface PickerAssignee {
1147
+ id: string;
1148
+ name: string;
1149
+ avatarUrl?: string;
1150
+ email?: string;
1151
+ type?: 'USER' | 'GROUP';
1152
+ }
1153
+ interface AssigneePickerProps {
1154
+ /** Currently selected assignees */
1155
+ selectedAssignees: PickerAssignee[];
1156
+ /** Available users to assign */
1157
+ availableUsers: PickerAssignee[];
1158
+ /** Available groups to assign */
1159
+ availableGroups?: PickerAssignee[];
1160
+ /** Called when a user/group is toggled (assigned/unassigned) */
1161
+ onToggle: (item: PickerAssignee) => void;
1162
+ /** Custom trigger button (optional) */
1163
+ trigger?: React.ReactNode;
1164
+ /** Whether the picker is disabled */
1165
+ disabled?: boolean;
1166
+ /** Max number of items allowed (optional) */
1167
+ maxAssignees?: number;
1168
+ }
1169
+ declare function AssigneePicker({ selectedAssignees, availableUsers, availableGroups, onToggle, trigger, disabled, maxAssignees, }: AssigneePickerProps): react_jsx_runtime.JSX.Element;
1170
+ declare namespace AssigneePicker {
1171
+ var displayName: string;
1172
+ }
1173
+
1118
1174
  type PlanTier = 'FREE' | 'STARTER' | 'PRO' | 'ENTERPRISE';
1119
1175
  interface PlanLimit {
1120
1176
  label: string;
@@ -1660,4 +1716,4 @@ interface InviteMemberDialogProps {
1660
1716
  }
1661
1717
  declare function InviteMemberDialog({ open, onOpenChange, workspaceSlug: propWorkspaceSlug, workspaceId: _deprecated, onInvited, defaultView, }: InviteMemberDialogProps): react_jsx_runtime.JSX.Element;
1662
1718
 
1663
- export { type ActivityAction, type ActivityEntry, ActivityTrail, type ActivityTrailProps, ActivityTrailSkeleton, AiClient, AiClientConfig, AiProjectWizard, type AiProjectWizardProps, Alert, type AlertProps, Avatar, AvatarFallback, AvatarImage, type AvatarProps, Badge, type BadgeProps, type BoardItem, BoardSkeleton, BoardsSwitcher, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CURRENT_USER_KEY, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatSkeleton, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type Comment, type CommentAuthor, CommentItem, type CommentReaction, CommentThread, type CommentThreadProps, CreateEpicDialog, type CreateEpicDialogProps, CreateProjectDialog, type CreateProjectDialogProps, CreateSprintDialog, type CreateSprintDialogProps, CreateTaskDialog, type CreateTaskDialogProps, CreateWorkspaceDialog, type CreateWorkspaceDialogProps, DashboardSkeleton, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Dock, DockButton, type DockEntry, type DockItem, type DockProps, DockSidebar, type DockSidebarProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DueDateBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, GeometricIcon, type GeometricIconProps, GlassPanel, type GlassPanelProps, type GqlEndpoint, Input, type InputProps, InviteMemberDialog, type InviteMemberDialogProps, KanbanBoard, type KanbanBoardProps, Column as KanbanColumn, type KanbanColumnData, type KanbanTask, TaskCard as KanbanTaskCard, Label, Logo, type LogoProps, MemberListSkeleton, MetricCard, type MetricCardProps, MetricCardSkeleton, OrgLoader, OrgLoaderInline, type OrgLoaderProps, type OrganifyApiConfig, OrganifyContext, type OrganifyContextValue, type OrganifyProject, OrganifyProvider, type OrganifyProviderProps, type OrganifyUser, type OrganifyWorkspace, PlanBadge, type PlanBadgeProps, type PlanLimit, type PlanTier, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, type ProgressProps, ProjectListSkeleton, type ResolvedUser, ResponsiveDialog, type ResponsiveDialogProps, type RestEndpoint, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSkeleton, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarButton, SidebarEntry, type SidebarNavEntry, type SidebarNavItem, Skeleton, SkeletonCard, type SkeletonProps, type Sprint, SprintFilter, SprintSkeleton, StatusPill, type StatusPillProps, StepCircle, StepConnector, type StepStatus, Stepper, type StepperProps, type StepperStep, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, type TaskAssignee, TaskCard$1 as TaskCard, type TaskCardData, type TaskCardProps$1 as TaskCardProps, TaskCardSkeleton, type TaskDependency, type TaskDetailData, TaskDetailDialog, type TaskDetailDialogProps, TaskDetailPanel, type TaskDetailPanelProps, TaskDetailSheet, type TaskDetailSheetProps, type TaskLabel, TaskListSkeleton, type TaskPriority, type TaskStatus, type TaskSubtask, Textarea, Toast, ToastProgress, type ToastProps, Toaster, type ToasterProps, Toggle, type ToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCurrentUserReturn, UserAvatar, type UserAvatarProps, UserDisplayName, type UserDisplayNameProps, WorkspaceSwitcher, type WorkspaceSwitcherProps, alertVariants, avatarVariants, badgeVariants, buttonVariants, cn, emptyMediaVariants, geometricIconVariants, glassPanelVariants, inputVariants, invalidateUserCache, metricCardVariants, orgLoaderVariants, priorityConfig, resolveUser, seedUserCache, statusPillVariants, useCurrentUser, useMediaQuery, useOrganify, useOrganifyApi, useOrganifyGql, useOrganifyNavigation, useOrganifyProject, useOrganifyRest, useOrganifyUser, useOrganifyWorkspace, useResolvedUser };
1719
+ export { type ActivityAction, type ActivityEntry, ActivityTrail, type ActivityTrailProps, ActivityTrailSkeleton, AiClient, AiClientConfig, AiProjectWizard, type AiProjectWizardProps, Alert, type AlertProps, AssigneePicker, type AssigneePickerProps, Avatar, AvatarFallback, AvatarImage, type AvatarProps, Badge, type BadgeProps, type BoardItem, BoardSkeleton, BoardsSwitcher, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CURRENT_USER_KEY, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatSkeleton, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type Comment, type CommentAuthor, CommentItem, type CommentReaction, CommentThread, type CommentThreadProps, CreateEpicDialog, type CreateEpicDialogProps, CreateProjectDialog, type CreateProjectDialogProps, CreateSprintDialog, type CreateSprintDialogProps, CreateTaskDialog, type CreateTaskDialogProps, CreateWorkspaceDialog, type CreateWorkspaceDialogProps, DashboardSkeleton, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Dock, DockButton, type DockEntry, type DockItem, type DockProps, DockSidebar, type DockSidebarProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DueDateBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, GeometricIcon, type GeometricIconProps, GlassPanel, type GlassPanelProps, type GqlEndpoint, Input, type InputProps, InviteMemberDialog, type InviteMemberDialogProps, KanbanBoard, type KanbanBoardProps, Column as KanbanColumn, type KanbanColumnData, type KanbanTask, TaskCard as KanbanTaskCard, Label, LabelPicker, type LabelPickerProps, Logo, type LogoProps, MemberListSkeleton, MetricCard, type MetricCardProps, MetricCardSkeleton, OrgLoader, OrgLoaderInline, type OrgLoaderProps, type OrganifyApiConfig, OrganifyContext, type OrganifyContextValue, type OrganifyProject, OrganifyProvider, type OrganifyProviderProps, type OrganifyUser, type OrganifyWorkspace, type PickerAssignee, type PickerLabel, PlanBadge, type PlanBadgeProps, type PlanLimit, type PlanTier, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, type ProgressProps, ProjectListSkeleton, type ResolvedUser, ResponsiveDialog, type ResponsiveDialogProps, type RestEndpoint, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSkeleton, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarButton, SidebarEntry, type SidebarNavEntry, type SidebarNavItem, Skeleton, SkeletonCard, type SkeletonProps, type Sprint, SprintFilter, SprintSkeleton, StatusPill, type StatusPillProps, StepCircle, StepConnector, type StepStatus, Stepper, type StepperProps, type StepperStep, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, type TaskAssignee, TaskCard$1 as TaskCard, type TaskCardData, type TaskCardProps$1 as TaskCardProps, TaskCardSkeleton, type TaskDependency, type TaskDetailData, TaskDetailDialog, type TaskDetailDialogProps, TaskDetailPanel, type TaskDetailPanelProps, TaskDetailSheet, type TaskDetailSheetProps, type TaskLabel, TaskListSkeleton, type TaskPriority, type TaskStatus, type TaskSubtask, Textarea, Toast, ToastProgress, type ToastProps, Toaster, type ToasterProps, Toggle, type ToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCurrentUserReturn, UserAvatar, type UserAvatarProps, UserDisplayName, type UserDisplayNameProps, WorkspaceSwitcher, type WorkspaceSwitcherProps, alertVariants, avatarVariants, badgeVariants, buttonVariants, cn, emptyMediaVariants, geometricIconVariants, glassPanelVariants, inputVariants, invalidateUserCache, metricCardVariants, orgLoaderVariants, priorityConfig, resolveUser, seedUserCache, statusPillVariants, useCurrentUser, useMediaQuery, useOrganify, useOrganifyApi, useOrganifyGql, useOrganifyNavigation, useOrganifyProject, useOrganifyRest, useOrganifyUser, useOrganifyWorkspace, useResolvedUser };
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ export { I18nProvider, createTranslator, useI18n } from './chunk-FQA33MF4.js';
6
6
  export { ThemeProvider, useTheme } from './chunk-RFOKENE3.js';
7
7
  import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, UserAvatar, ResponsiveDialog, Separator, Label, Input, Textarea, Button, UserDisplayName, Tabs, TabsList, TabsTrigger, TabsContent, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, DialogFooter, DialogClose } from './chunk-TMWQH4P7.js';
8
8
  export { AiChatSidebar, Alert, Button, ChatMessages, ChatSidebar, CommandBar, CreateRoomDialog, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, InlineAiButton, Input, Label, MOCK_PROJECTS, MOCK_USERS, OrgLoader, OrgLoaderInline, OrganifyChat, ResponsiveDialog, RoomManagementPanel, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TypingIndicatorMock, UserAvatar, UserDisplayName, alertVariants, buttonVariants, generateAutoReplies, getMockMentionOptions, getRoomPermissions, inputVariants, invalidateUserCache, orgLoaderVariants, resolveUser, seedUserCache, typingIndicator, useAiInline, useChat, useResolvedUser } from './chunk-TMWQH4P7.js';
9
- import { cn, Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription, Skeleton, useOrganify, useOrganifyGql, Avatar, AvatarFallback, useOrganifyUser, useOrganifyApi, Badge, ScrollArea, useOrganifyWorkspace, useOrganifyNavigation, useOrganifyProject, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, AvatarImage } from './chunk-UUBQQVDM.js';
9
+ import { cn, Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription, Skeleton, useOrganify, useOrganifyGql, Avatar, AvatarFallback, useOrganifyUser, useOrganifyApi, Badge, ScrollArea, useOrganifyWorkspace, useOrganifyNavigation, useOrganifyProject, AvatarImage, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-UUBQQVDM.js';
10
10
  export { Avatar, AvatarFallback, AvatarImage, Badge, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, OrganifyContext, OrganifyProvider, ScrollArea, ScrollBar, Skeleton, SkeletonCard, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, avatarVariants, badgeVariants, cn, useOrganify, useOrganifyApi, useOrganifyGql, useOrganifyNavigation, useOrganifyProject, useOrganifyRest, useOrganifyUser, useOrganifyWorkspace } from './chunk-UUBQQVDM.js';
11
11
  import { OrgDiamond, OrgPlus, OrgComment, OrgEdit, OrgTrash, OrgSprint, OrgCheckCircle, OrgAttachment, OrgCalendar, OrgMail, OrgBoard, OrgRocket, OrgWarning, OrgFlag, OrgShield, OrgZap, OrgStar } from './chunk-J5TEVLDY.js';
12
12
  export { OrgAI, OrgActivity, OrgArrowLeft, OrgArrowRight, OrgAttachment, OrgBell, OrgBoard, OrgCalendar, OrgCelebrate, OrgChart, OrgChat, OrgCheck, OrgCheckCircle, OrgChevronDown, OrgChevronLeft, OrgChevronRight, OrgChevronUp, OrgClock, OrgClose, OrgComment, OrgCopy, OrgCreditCard, OrgTrash as OrgDelete, OrgDeveloper, OrgDiamond, OrgDoor, OrgDownload, OrgEdit, OrgError, OrgExecutive, OrgEye, OrgEyeOff, OrgFile, OrgFilter, OrgFlag, OrgFolder, OrgGauge, OrgGlobe, OrgGrid, OrgHeart, OrgHome, OrgInfo, OrgIntegration, OrgLink, OrgList, OrgLock, OrgLogo, OrgLogout, OrgMail, OrgMention, OrgMenu, OrgMoon, OrgNote, OrgPMO, OrgPause, OrgPin, OrgPlay, OrgPlus, OrgProjectManager, OrgReport, OrgRocket, OrgSearch, OrgSettings, OrgShield, OrgSort, OrgSprint, OrgStakeholder, OrgStar, OrgSun, OrgTag, OrgTarget, OrgTeam, OrgTrash, OrgTutorial, OrgUnlock, OrgUpload, OrgUser, OrgWarning, OrgWave, OrgWordmark, OrgWorkflow, OrgWorkspace, OrgZap } from './chunk-J5TEVLDY.js';
@@ -14,7 +14,7 @@ import * as React11 from 'react';
14
14
  import * as SwitchPrimitive from '@radix-ui/react-switch';
15
15
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
16
16
  import * as ProgressPrimitive from '@radix-ui/react-progress';
17
- import { X, XIcon, GripVertical, Settings2, Check, ChevronRight, Circle, Search, MoreHorizontal, AlertCircle, AlertTriangle, CheckCircle2, Info, Sparkles, Plus, Zap, Trash2, Calendar, Link2, Ban, ArrowRight } from 'lucide-react';
17
+ import { X, XIcon, Plus, Check, Search, GripVertical, Settings2, ChevronRight, Circle, MoreHorizontal, AlertCircle, AlertTriangle, CheckCircle2, Info, Sparkles, Zap, Trash2, Calendar, Link2, Ban, ArrowRight } from 'lucide-react';
18
18
  import { cva } from 'class-variance-authority';
19
19
  import * as SheetPrimitive from '@radix-ui/react-dialog';
20
20
  import { createPortal } from 'react-dom';
@@ -4975,16 +4975,18 @@ function LabelPicker({
4975
4975
  const exactMatch = availableLabels.some(
4976
4976
  (l) => l.name.toLowerCase() === search.toLowerCase()
4977
4977
  );
4978
- const handleCreate = () => {
4978
+ const handleCreate = async () => {
4979
4979
  if (newLabelName.trim() && onCreate) {
4980
- onCreate(newLabelName.trim(), newLabelColor);
4980
+ const result = await onCreate(newLabelName.trim(), newLabelColor);
4981
+ if (result) onToggle(result);
4981
4982
  setNewLabelName("");
4982
4983
  setIsCreating(false);
4983
4984
  }
4984
4985
  };
4985
- const handleQuickCreate = () => {
4986
+ const handleQuickCreate = async () => {
4986
4987
  if (search.trim() && !exactMatch && onCreate) {
4987
- onCreate(search.trim(), presetColors[Math.floor(Math.random() * presetColors.length)]);
4988
+ const result = await onCreate(search.trim(), presetColors[Math.floor(Math.random() * presetColors.length)]);
4989
+ if (result) onToggle(result);
4988
4990
  setSearch("");
4989
4991
  }
4990
4992
  };
@@ -7105,6 +7107,7 @@ function TaskCard2({
7105
7107
  columnId,
7106
7108
  index,
7107
7109
  onClick,
7110
+ onContextMenu,
7108
7111
  isDragging,
7109
7112
  externalDnD,
7110
7113
  onDragStart,
@@ -7145,6 +7148,10 @@ function TaskCard2({
7145
7148
  onDragStart: !externalDnD ? (e) => onDragStart?.(e, task, columnId) : void 0,
7146
7149
  onDragEnd: !externalDnD ? onDragEnd : void 0,
7147
7150
  onClick,
7151
+ onContextMenu: onContextMenu ? (e) => {
7152
+ e.preventDefault();
7153
+ onContextMenu(task.id, e);
7154
+ } : void 0,
7148
7155
  onTouchStart: handleTouchStart,
7149
7156
  onTouchMove: handleTouchMove,
7150
7157
  onTouchEnd: handleTouchEnd,
@@ -7218,6 +7225,7 @@ function TaskCard2({
7218
7225
  function Column({
7219
7226
  column,
7220
7227
  onTaskClick,
7228
+ onTaskContextMenu,
7221
7229
  onAddTask,
7222
7230
  onRenameColumn,
7223
7231
  onEditColumn,
@@ -7375,6 +7383,7 @@ function Column({
7375
7383
  columnId: column.id,
7376
7384
  index,
7377
7385
  onClick: () => onTaskClick(task, column.id),
7386
+ onContextMenu: onTaskContextMenu,
7378
7387
  isDragging,
7379
7388
  externalDnD,
7380
7389
  onDragStart,
@@ -7467,6 +7476,7 @@ function KanbanBoard({
7467
7476
  onDeleteColumn,
7468
7477
  className,
7469
7478
  externalDnD = false,
7479
+ onTaskContextMenu,
7470
7480
  onTaskUpdate,
7471
7481
  onToggleLabel,
7472
7482
  onCreateLabel,
@@ -7593,6 +7603,7 @@ function KanbanBoard({
7593
7603
  {
7594
7604
  column,
7595
7605
  onTaskClick: handleTaskClick,
7606
+ onTaskContextMenu,
7596
7607
  onAddTask,
7597
7608
  onRenameColumn,
7598
7609
  onEditColumn,
@@ -10351,6 +10362,6 @@ function InviteMemberDialog({
10351
10362
  );
10352
10363
  }
10353
10364
 
10354
- export { ActivityTrail, ActivityTrailSkeleton, AiProjectWizard, BoardSkeleton, BoardsSwitcher, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, CURRENT_USER_KEY, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatSkeleton, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentItem, CommentThread, CreateEpicDialog, CreateProjectDialog, CreateSprintDialog, CreateTaskDialog, CreateWorkspaceDialog, DashboardSkeleton, Dock, DockButton, DockSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DueDateBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, GeometricIcon, GlassPanel, InviteMemberDialog, KanbanBoard, Column as KanbanColumn, TaskCard2 as KanbanTaskCard, Logo, MemberListSkeleton, MetricCard, MetricCardSkeleton, PlanBadge, Progress, ProjectListSkeleton, SettingsSkeleton, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarButton, SidebarEntry, SprintFilter, SprintSkeleton, StatusPill, StepCircle, StepConnector, Stepper, Switch, TaskCard, TaskCardSkeleton, TaskDetailDialog, TaskDetailPanel, TaskDetailSheet, TaskListSkeleton, Toast, ToastProgress, Toaster, Toggle, WorkspaceSwitcher, emptyMediaVariants, geometricIconVariants, glassPanelVariants, metricCardVariants, priorityConfig, statusPillVariants, useCurrentUser, useMediaQuery };
10365
+ export { ActivityTrail, ActivityTrailSkeleton, AiProjectWizard, AssigneePicker, BoardSkeleton, BoardsSwitcher, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, CURRENT_USER_KEY, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatSkeleton, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentItem, CommentThread, CreateEpicDialog, CreateProjectDialog, CreateSprintDialog, CreateTaskDialog, CreateWorkspaceDialog, DashboardSkeleton, Dock, DockButton, DockSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DueDateBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, GeometricIcon, GlassPanel, InviteMemberDialog, KanbanBoard, Column as KanbanColumn, TaskCard2 as KanbanTaskCard, LabelPicker, Logo, MemberListSkeleton, MetricCard, MetricCardSkeleton, PlanBadge, Progress, ProjectListSkeleton, SettingsSkeleton, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarButton, SidebarEntry, SprintFilter, SprintSkeleton, StatusPill, StepCircle, StepConnector, Stepper, Switch, TaskCard, TaskCardSkeleton, TaskDetailDialog, TaskDetailPanel, TaskDetailSheet, TaskListSkeleton, Toast, ToastProgress, Toaster, Toggle, WorkspaceSwitcher, emptyMediaVariants, geometricIconVariants, glassPanelVariants, metricCardVariants, priorityConfig, statusPillVariants, useCurrentUser, useMediaQuery };
10355
10366
  //# sourceMappingURL=index.js.map
10356
10367
  //# sourceMappingURL=index.js.map