organify-ui 0.3.21 → 0.3.22
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 +22 -9
- package/dist/index.js +91 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -189,6 +189,20 @@ declare function seedUserCache(users: ResolvedUser[]): void;
|
|
|
189
189
|
*/
|
|
190
190
|
declare function useResolvedUser(userId: string | number | undefined | null): ResolvedUser | null | undefined;
|
|
191
191
|
|
|
192
|
+
interface UserDisplayNameProps {
|
|
193
|
+
/** User ID — used for self-fetch when `name` is not provided. */
|
|
194
|
+
userId?: string | number;
|
|
195
|
+
/** Display name override — when present, skips the fetch entirely. */
|
|
196
|
+
name?: string;
|
|
197
|
+
/** Fallback text shown while loading. Defaults to '…' */
|
|
198
|
+
loadingFallback?: string;
|
|
199
|
+
/** Extra CSS classes applied to the wrapping <span>. */
|
|
200
|
+
className?: string;
|
|
201
|
+
/** Inline style overrides. */
|
|
202
|
+
style?: React.CSSProperties;
|
|
203
|
+
}
|
|
204
|
+
declare function UserDisplayName({ userId, name: nameProp, loadingFallback, className, style, }: UserDisplayNameProps): react_jsx_runtime.JSX.Element;
|
|
205
|
+
|
|
192
206
|
/**
|
|
193
207
|
* Tooltip — Organic glass tooltip
|
|
194
208
|
*
|
|
@@ -716,7 +730,8 @@ interface TaskLabel {
|
|
|
716
730
|
}
|
|
717
731
|
interface TaskAssignee {
|
|
718
732
|
id: string;
|
|
719
|
-
|
|
733
|
+
/** Optional — when absent, UserAvatar/UserDisplayName will self-fetch by `id` */
|
|
734
|
+
name?: string;
|
|
720
735
|
avatarUrl?: string;
|
|
721
736
|
}
|
|
722
737
|
interface TaskSubtask {
|
|
@@ -825,13 +840,15 @@ interface TaskCardData {
|
|
|
825
840
|
/** Single assignee (legacy support) */
|
|
826
841
|
assignee?: {
|
|
827
842
|
id?: string;
|
|
828
|
-
|
|
843
|
+
/** Optional — when absent, UserAvatar will self-fetch by `id` */
|
|
844
|
+
name?: string;
|
|
829
845
|
avatarUrl?: string | null;
|
|
830
846
|
} | null;
|
|
831
847
|
/** Multiple assignees - recommended approach */
|
|
832
848
|
assignees?: Array<{
|
|
833
849
|
id: string;
|
|
834
|
-
|
|
850
|
+
/** Optional — when absent, UserAvatar/UserDisplayName will self-fetch by `id` */
|
|
851
|
+
name?: string;
|
|
835
852
|
avatarUrl?: string | null;
|
|
836
853
|
}>;
|
|
837
854
|
/** Assign to a group instead of individuals */
|
|
@@ -898,11 +915,7 @@ interface TaskCardProps$1 extends Omit<React.HTMLAttributes<HTMLDivElement>, 'on
|
|
|
898
915
|
}>;
|
|
899
916
|
onAddAssignee?: (taskId: string) => void;
|
|
900
917
|
onRemoveAssignee?: (taskId: string, assigneeId: string) => void;
|
|
901
|
-
onToggleAssignee?: (taskId: string, assignee:
|
|
902
|
-
id: string;
|
|
903
|
-
name: string;
|
|
904
|
-
avatarUrl?: string;
|
|
905
|
-
}) => void;
|
|
918
|
+
onToggleAssignee?: (taskId: string, assignee: TaskAssignee) => void;
|
|
906
919
|
availableUsers?: Array<{
|
|
907
920
|
id: string;
|
|
908
921
|
name: string;
|
|
@@ -1590,4 +1603,4 @@ interface InviteMemberDialogProps {
|
|
|
1590
1603
|
}
|
|
1591
1604
|
declare function InviteMemberDialog({ open, onOpenChange, workspaceSlug: propWorkspaceSlug, workspaceId: _deprecated, onInvited, }: InviteMemberDialogProps): react_jsx_runtime.JSX.Element;
|
|
1592
1605
|
|
|
1593
|
-
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, 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 };
|
|
1606
|
+
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 };
|
package/dist/index.js
CHANGED
|
@@ -263,6 +263,26 @@ function UserAvatar({
|
|
|
263
263
|
] }) });
|
|
264
264
|
}
|
|
265
265
|
UserAvatar.displayName = "UserAvatar";
|
|
266
|
+
function UserDisplayName({
|
|
267
|
+
userId,
|
|
268
|
+
name: nameProp,
|
|
269
|
+
loadingFallback = "\u2026",
|
|
270
|
+
className,
|
|
271
|
+
style
|
|
272
|
+
}) {
|
|
273
|
+
const resolved = useResolvedUser(!nameProp && userId != null ? userId : null);
|
|
274
|
+
const isLoading = !nameProp && userId != null && resolved === void 0;
|
|
275
|
+
const displayName = nameProp ?? resolved?.name ?? (isLoading ? loadingFallback : "?");
|
|
276
|
+
return /* @__PURE__ */ jsx(
|
|
277
|
+
"span",
|
|
278
|
+
{
|
|
279
|
+
className: cn(isLoading && "animate-pulse opacity-60", className),
|
|
280
|
+
style,
|
|
281
|
+
title: displayName,
|
|
282
|
+
children: displayName
|
|
283
|
+
}
|
|
284
|
+
);
|
|
285
|
+
}
|
|
266
286
|
var Progress = React5.forwardRef(({ className, value, showLabel, label, variant = "default", ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
267
287
|
(label || showLabel) && /* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
|
|
268
288
|
label && /* @__PURE__ */ jsx("span", { className: "text-label uppercase tracking-widest text-org-text-muted", children: label }),
|
|
@@ -5631,8 +5651,25 @@ function LabelItem({ label, onRemove, showDelete = true }) {
|
|
|
5631
5651
|
}
|
|
5632
5652
|
function AssigneeItem({ assignee, onRemove, showDelete = true }) {
|
|
5633
5653
|
return /* @__PURE__ */ jsxs("div", { className: "group relative inline-flex items-center gap-2 px-3 py-1.5 bg-theme-subtle border border-theme-subtle rounded-full", children: [
|
|
5634
|
-
/* @__PURE__ */ jsx(
|
|
5635
|
-
|
|
5654
|
+
/* @__PURE__ */ jsx(
|
|
5655
|
+
UserAvatar,
|
|
5656
|
+
{
|
|
5657
|
+
userId: assignee.id,
|
|
5658
|
+
name: assignee.name,
|
|
5659
|
+
src: assignee.avatarUrl,
|
|
5660
|
+
size: "sm",
|
|
5661
|
+
showHoverInfo: false,
|
|
5662
|
+
className: "w-5 h-5"
|
|
5663
|
+
}
|
|
5664
|
+
),
|
|
5665
|
+
/* @__PURE__ */ jsx(
|
|
5666
|
+
UserDisplayName,
|
|
5667
|
+
{
|
|
5668
|
+
userId: assignee.id,
|
|
5669
|
+
name: assignee.name,
|
|
5670
|
+
className: "text-xs font-medium text-theme"
|
|
5671
|
+
}
|
|
5672
|
+
),
|
|
5636
5673
|
showDelete && onRemove && /* @__PURE__ */ jsx(
|
|
5637
5674
|
"button",
|
|
5638
5675
|
{
|
|
@@ -6022,8 +6059,8 @@ function TaskDetailContent({
|
|
|
6022
6059
|
onToggleAssignee && availableUsers ? /* @__PURE__ */ jsx(
|
|
6023
6060
|
AssigneePicker,
|
|
6024
6061
|
{
|
|
6025
|
-
selectedAssignees: task.assignees.map((a) => ({ id: a.id, name: a.name, avatarUrl: a.avatarUrl })),
|
|
6026
|
-
availableUsers: availableUsers.map((a) => ({ id: a.id, name: a.name, avatarUrl: a.avatarUrl })),
|
|
6062
|
+
selectedAssignees: task.assignees.map((a) => ({ id: a.id, name: a.name ?? "", avatarUrl: a.avatarUrl })),
|
|
6063
|
+
availableUsers: availableUsers.map((a) => ({ id: a.id, name: a.name ?? "", avatarUrl: a.avatarUrl })),
|
|
6027
6064
|
onToggle: (assignee) => onToggleAssignee(task.id, { id: assignee.id, name: assignee.name, avatarUrl: assignee.avatarUrl })
|
|
6028
6065
|
}
|
|
6029
6066
|
) : onAddAssignee ? /* @__PURE__ */ jsxs(
|
|
@@ -6055,8 +6092,8 @@ function TaskDetailContent({
|
|
|
6055
6092
|
onToggleAssigneeGroup && /* @__PURE__ */ jsx(
|
|
6056
6093
|
AssigneePicker,
|
|
6057
6094
|
{
|
|
6058
|
-
selectedAssignees: task.assigneeGroup ? [{ id: task.assigneeGroup.id, name: task.assigneeGroup.name, avatarUrl: task.assigneeGroup.avatarUrl }] : [],
|
|
6059
|
-
availableUsers: availableGroups.map((g) => ({ id: g.id, name: g.name, avatarUrl: g.avatarUrl })),
|
|
6095
|
+
selectedAssignees: task.assigneeGroup ? [{ id: task.assigneeGroup.id, name: task.assigneeGroup.name ?? "", avatarUrl: task.assigneeGroup.avatarUrl }] : [],
|
|
6096
|
+
availableUsers: availableGroups.map((g) => ({ id: g.id, name: g.name ?? "", avatarUrl: g.avatarUrl })),
|
|
6060
6097
|
onToggle: (group) => {
|
|
6061
6098
|
const isSame = task.assigneeGroup?.id === group.id;
|
|
6062
6099
|
onToggleAssigneeGroup(task.id, isSame ? null : { id: group.id, name: group.name, avatarUrl: group.avatarUrl });
|
|
@@ -6309,7 +6346,7 @@ function toDetailData(task) {
|
|
|
6309
6346
|
const labels = (task.labels || []).map(
|
|
6310
6347
|
(label, i) => typeof label === "string" ? { id: `label-${i}`, name: label, color: "#6b7280" } : label
|
|
6311
6348
|
);
|
|
6312
|
-
const assignees = task.assignees ? task.assignees.map((a) => ({ id: a.id, name: a.name, avatarUrl: a.avatarUrl || void 0 })) : task.assignee ? [{ id: task.assignee.id || "legacy", name: task.assignee.name, avatarUrl: task.assignee.avatarUrl || void 0 }] : [];
|
|
6349
|
+
const assignees = task.assignees ? task.assignees.map((a) => ({ id: a.id, name: a.name, avatarUrl: a.avatarUrl || void 0 })) : task.assignee ? [{ id: task.assignee.id || "legacy", name: task.assignee.name ?? void 0, avatarUrl: task.assignee.avatarUrl || void 0 }] : [];
|
|
6313
6350
|
return {
|
|
6314
6351
|
id: task.id,
|
|
6315
6352
|
title: task.title,
|
|
@@ -6498,6 +6535,7 @@ function TaskCard({
|
|
|
6498
6535
|
task.assignees.slice(0, 2).map((assignee) => /* @__PURE__ */ jsx(
|
|
6499
6536
|
UserAvatar,
|
|
6500
6537
|
{
|
|
6538
|
+
userId: assignee.id,
|
|
6501
6539
|
name: assignee.name,
|
|
6502
6540
|
src: assignee.avatarUrl,
|
|
6503
6541
|
size: "sm",
|
|
@@ -6510,7 +6548,6 @@ function TaskCard({
|
|
|
6510
6548
|
"div",
|
|
6511
6549
|
{
|
|
6512
6550
|
className: "w-5 h-5 rounded-full bg-primary/10 flex items-center justify-center text-[10px] font-bold text-primary-light border border-primary/20",
|
|
6513
|
-
title: task.assignees.slice(2).map((a) => a.name).join(", "),
|
|
6514
6551
|
children: [
|
|
6515
6552
|
"+",
|
|
6516
6553
|
task.assignees.length - 2
|
|
@@ -6518,10 +6555,33 @@ function TaskCard({
|
|
|
6518
6555
|
}
|
|
6519
6556
|
)
|
|
6520
6557
|
] }),
|
|
6521
|
-
/* @__PURE__ */ jsx(
|
|
6558
|
+
/* @__PURE__ */ jsx(
|
|
6559
|
+
UserDisplayName,
|
|
6560
|
+
{
|
|
6561
|
+
userId: task.assignees[0].id,
|
|
6562
|
+
name: task.assignees[0].name,
|
|
6563
|
+
className: "text-xs text-theme-muted truncate max-w-24"
|
|
6564
|
+
}
|
|
6565
|
+
)
|
|
6522
6566
|
] }) : task.assignee ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mt-1", children: [
|
|
6523
|
-
/* @__PURE__ */ jsx(
|
|
6524
|
-
|
|
6567
|
+
/* @__PURE__ */ jsx(
|
|
6568
|
+
UserAvatar,
|
|
6569
|
+
{
|
|
6570
|
+
userId: task.assignee.id,
|
|
6571
|
+
name: task.assignee.name,
|
|
6572
|
+
src: task.assignee.avatarUrl,
|
|
6573
|
+
size: "sm",
|
|
6574
|
+
className: "h-5 w-5"
|
|
6575
|
+
}
|
|
6576
|
+
),
|
|
6577
|
+
/* @__PURE__ */ jsx(
|
|
6578
|
+
UserDisplayName,
|
|
6579
|
+
{
|
|
6580
|
+
userId: task.assignee.id,
|
|
6581
|
+
name: task.assignee.name,
|
|
6582
|
+
className: "text-xs text-theme-muted truncate max-w-24"
|
|
6583
|
+
}
|
|
6584
|
+
)
|
|
6525
6585
|
] }) : null,
|
|
6526
6586
|
!compact && task.dueDate && /* @__PURE__ */ jsx("div", { className: "mt-1", children: /* @__PURE__ */ jsx(DueDateBadge, { date: task.dueDate }) }),
|
|
6527
6587
|
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute bottom-0 right-0 h-3 w-3 border-b border-r border-primary/20" })
|
|
@@ -6678,8 +6738,25 @@ function TaskDetailDialog({
|
|
|
6678
6738
|
{
|
|
6679
6739
|
className: "flex items-center gap-2 px-3 py-2 bg-muted rounded-full",
|
|
6680
6740
|
children: [
|
|
6681
|
-
/* @__PURE__ */ jsx(
|
|
6682
|
-
|
|
6741
|
+
/* @__PURE__ */ jsx(
|
|
6742
|
+
UserAvatar,
|
|
6743
|
+
{
|
|
6744
|
+
userId: assignee.id,
|
|
6745
|
+
name: assignee.name,
|
|
6746
|
+
src: assignee.avatarUrl,
|
|
6747
|
+
size: "sm",
|
|
6748
|
+
showHoverInfo: false,
|
|
6749
|
+
className: "w-6 h-6"
|
|
6750
|
+
}
|
|
6751
|
+
),
|
|
6752
|
+
/* @__PURE__ */ jsx(
|
|
6753
|
+
UserDisplayName,
|
|
6754
|
+
{
|
|
6755
|
+
userId: assignee.id,
|
|
6756
|
+
name: assignee.name,
|
|
6757
|
+
className: "text-sm font-medium"
|
|
6758
|
+
}
|
|
6759
|
+
)
|
|
6683
6760
|
]
|
|
6684
6761
|
},
|
|
6685
6762
|
assignee.id
|
|
@@ -9536,6 +9613,6 @@ function InviteMemberDialog({
|
|
|
9536
9613
|
);
|
|
9537
9614
|
}
|
|
9538
9615
|
|
|
9539
|
-
export { ActivityTrail, ActivityTrailSkeleton, 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, UserAvatar, WorkspaceSwitcher, emptyMediaVariants, geometricIconVariants, glassPanelVariants, invalidateUserCache, metricCardVariants, priorityConfig, resolveUser, seedUserCache, statusPillVariants, useCurrentUser, useMediaQuery, useResolvedUser };
|
|
9616
|
+
export { ActivityTrail, ActivityTrailSkeleton, 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, UserAvatar, UserDisplayName, WorkspaceSwitcher, emptyMediaVariants, geometricIconVariants, glassPanelVariants, invalidateUserCache, metricCardVariants, priorityConfig, resolveUser, seedUserCache, statusPillVariants, useCurrentUser, useMediaQuery, useResolvedUser };
|
|
9540
9617
|
//# sourceMappingURL=index.js.map
|
|
9541
9618
|
//# sourceMappingURL=index.js.map
|