organify-ui 0.3.37 → 0.3.39

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
@@ -739,6 +739,18 @@ interface TaskSubtask {
739
739
  title: string;
740
740
  completed: boolean;
741
741
  }
742
+ interface TaskDependency {
743
+ id: string;
744
+ sourceTaskId: string;
745
+ targetTaskId: string;
746
+ type: 'BLOCKS' | 'BLOCKED_BY';
747
+ relatedTask: {
748
+ id: string;
749
+ title: string;
750
+ number?: number;
751
+ status?: string;
752
+ };
753
+ }
742
754
  interface TaskDetailData {
743
755
  id: string;
744
756
  title: string;
@@ -757,6 +769,7 @@ interface TaskDetailData {
757
769
  attachmentCount?: number;
758
770
  subtasks?: TaskSubtask[];
759
771
  assigneeGroup?: TaskAssignee;
772
+ dependencies?: TaskDependency[];
760
773
  }
761
774
  interface TaskDetailSheetProps {
762
775
  task: TaskDetailData | null;
@@ -779,6 +792,13 @@ interface TaskDetailSheetProps {
779
792
  onDeleteSubtask?: (taskId: string, subtaskId: string) => Promise<void>;
780
793
  onUpdateSubtask?: (taskId: string, subtaskId: string, title: string) => Promise<void>;
781
794
  onDeleteTask?: (taskId: string) => Promise<void>;
795
+ onAddDependency?: (taskId: string, targetTaskId: string, type: 'BLOCKS' | 'BLOCKED_BY') => Promise<void>;
796
+ onRemoveDependency?: (taskId: string, dependencyId: string) => Promise<void>;
797
+ availableTasks?: {
798
+ id: string;
799
+ title: string;
800
+ number?: number;
801
+ }[];
782
802
  comments?: Comment[];
783
803
  currentUser?: CommentAuthor;
784
804
  loading?: boolean;
@@ -792,7 +812,7 @@ interface TaskDetailSheetProps {
792
812
  color: string;
793
813
  }[];
794
814
  }
795
- declare function TaskDetailSheet({ task, open, onOpenChange, onUpdate, onAddLabel, onRemoveLabel, onToggleLabel, onCreateLabel, availableLabels, onAddAssignee, onRemoveAssignee, onToggleAssignee, availableUsers, availableGroups, onToggleAssigneeGroup, onAddSubtask, onToggleSubtask, onDeleteSubtask, onUpdateSubtask, onDeleteTask, comments, currentUser, loading, availableStatuses, availablePriorities, }: TaskDetailSheetProps): react_jsx_runtime.JSX.Element;
815
+ declare function TaskDetailSheet({ task, open, onOpenChange, onUpdate, onAddLabel, onRemoveLabel, onToggleLabel, onCreateLabel, availableLabels, onAddAssignee, onRemoveAssignee, onToggleAssignee, availableUsers, availableGroups, onToggleAssigneeGroup, onAddSubtask, onToggleSubtask, onDeleteSubtask, onUpdateSubtask, onDeleteTask, onAddDependency, onRemoveDependency, availableTasks, comments, currentUser, loading, availableStatuses, availablePriorities, }: TaskDetailSheetProps): react_jsx_runtime.JSX.Element;
796
816
  declare namespace TaskDetailSheet {
797
817
  var displayName: string;
798
818
  }
@@ -955,6 +975,16 @@ declare namespace TaskDetailDialog {
955
975
  var displayName: string;
956
976
  }
957
977
 
978
+ /** Backend ColumnStatus enum values */
979
+ type ColumnStatus = 'TODO' | 'IN_PROGRESS' | 'UNDER_REVIEW' | 'DONE' | 'BLOCKED' | 'WAITING_FOR_CLIENT' | 'TESTING';
980
+ interface ColumnEditData {
981
+ id: string;
982
+ name: string;
983
+ status: ColumnStatus;
984
+ color?: string;
985
+ wipLimit?: number;
986
+ }
987
+
958
988
  interface KanbanTask {
959
989
  id: string;
960
990
  title: string;
@@ -993,6 +1023,8 @@ interface KanbanColumnData {
993
1023
  id: string;
994
1024
  title: string;
995
1025
  color?: string;
1026
+ /** The ColumnStatus mapped to this column (e.g. TODO, IN_PROGRESS, DONE) */
1027
+ status?: ColumnStatus;
996
1028
  tasks: KanbanTask[];
997
1029
  /** WIP limit — column header turns red when exceeded */
998
1030
  wipLimit?: number;
@@ -1009,6 +1041,10 @@ interface KanbanBoardProps {
1009
1041
  onAddColumn?: (title?: string) => void;
1010
1042
  /** Called with (columnId, newTitle) when column is renamed inline */
1011
1043
  onRenameColumn?: (columnId: string, newTitle: string) => void;
1044
+ /** Called when user opens column edit dialog and saves changes */
1045
+ onEditColumn?: (columnId: string, data: Partial<Omit<ColumnEditData, 'id'>>) => Promise<void> | void;
1046
+ /** Called when user deletes a column from the edit dialog */
1047
+ onDeleteColumn?: (columnId: string) => Promise<void> | void;
1012
1048
  className?: string;
1013
1049
  /**
1014
1050
  * External drag-and-drop library integration
@@ -1055,6 +1091,8 @@ interface ColumnComponentProps {
1055
1091
  onTaskClick: (task: KanbanTask, columnId: string) => void;
1056
1092
  onAddTask?: (columnId: string, title?: string) => void;
1057
1093
  onRenameColumn?: (columnId: string, newTitle: string) => void;
1094
+ onEditColumn?: (columnId: string, data: Partial<Omit<ColumnEditData, 'id'>>) => Promise<void> | void;
1095
+ onDeleteColumn?: (columnId: string) => Promise<void> | void;
1058
1096
  externalDnD?: boolean;
1059
1097
  draggedTask?: {
1060
1098
  task: KanbanTask;
@@ -1067,11 +1105,11 @@ interface ColumnComponentProps {
1067
1105
  isDropTarget?: boolean;
1068
1106
  onTouchDragStart?: (task: KanbanTask, columnId: string) => void;
1069
1107
  }
1070
- declare function Column({ column, onTaskClick, onAddTask, onRenameColumn, externalDnD, draggedTask, onDragStart, onDragEnd, onDragOver, onDrop, isDropTarget, onTouchDragStart, }: ColumnComponentProps): react_jsx_runtime.JSX.Element;
1108
+ declare function Column({ column, onTaskClick, onAddTask, onRenameColumn, onEditColumn, onDeleteColumn, externalDnD, draggedTask, onDragStart, onDragEnd, onDragOver, onDrop, isDropTarget, onTouchDragStart, }: ColumnComponentProps): react_jsx_runtime.JSX.Element;
1071
1109
  declare namespace Column {
1072
1110
  var displayName: string;
1073
1111
  }
1074
- declare function KanbanBoard({ columns, onColumnChange, onTaskMove, onAddTask, onAddColumn, onRenameColumn, 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;
1112
+ 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;
1075
1113
  declare namespace KanbanBoard {
1076
1114
  var displayName: string;
1077
1115
  }
@@ -1606,4 +1644,4 @@ interface InviteMemberDialogProps {
1606
1644
  }
1607
1645
  declare function InviteMemberDialog({ open, onOpenChange, workspaceSlug: propWorkspaceSlug, workspaceId: _deprecated, onInvited, defaultView, }: InviteMemberDialogProps): react_jsx_runtime.JSX.Element;
1608
1646
 
1609
- export { type ActivityAction, type ActivityEntry, ActivityTrail, type ActivityTrailProps, ActivityTrailSkeleton, 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 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 };
1647
+ export { type ActivityAction, type ActivityEntry, ActivityTrail, type ActivityTrailProps, ActivityTrailSkeleton, 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 };