organify-ui 0.3.10 → 0.3.12

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
@@ -37,7 +37,7 @@ export { AiAdminLog, AiAdminLogsResponse, AiAdminStatsResponse, AiAdminUserStat,
37
37
  declare function cn(...inputs: ClassValue[]): string;
38
38
 
39
39
  declare const buttonVariants: (props?: ({
40
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
40
+ variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
41
41
  size?: "sm" | "default" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
42
42
  } & class_variance_authority_types.ClassProp) | undefined) => string;
43
43
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -53,7 +53,7 @@ declare function Button({ className, variant, size, asChild, loading, children,
53
53
  * Squircle radius, organic easing, focus glow.
54
54
  */
55
55
  declare const inputVariants: (props?: ({
56
- variant?: "error" | "flat" | "default" | "rounded" | "cream" | null | undefined;
56
+ variant?: "default" | "flat" | "rounded" | "error" | "cream" | null | undefined;
57
57
  } & class_variance_authority_types.ClassProp) | undefined) => string;
58
58
  interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
59
59
  label?: string;
@@ -100,7 +100,7 @@ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAtt
100
100
  * Theme-aware: uses CSS variables for theme switching.
101
101
  */
102
102
  declare const badgeVariants: (props?: ({
103
- variant?: "success" | "error" | "warning" | "info" | "default" | "in-flow" | "primary" | "deep-work" | "high-energy" | "cream-default" | "cream-primary" | null | undefined;
103
+ variant?: "default" | "error" | "in-flow" | "primary" | "success" | "warning" | "info" | "deep-work" | "high-energy" | "cream-default" | "cream-primary" | null | undefined;
104
104
  } & class_variance_authority_types.ClassProp) | undefined) => string;
105
105
  interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
106
106
  /** Animated pulse dot */
@@ -233,7 +233,7 @@ declare function OrgLoaderInline({ className, ...props }: React.SVGProps<SVGSVGE
233
233
  * - Semantic border colors per variant
234
234
  */
235
235
  declare const alertVariants: (props?: ({
236
- variant?: "success" | "error" | "warning" | "info" | null | undefined;
236
+ variant?: "error" | "success" | "warning" | "info" | null | undefined;
237
237
  } & class_variance_authority_types.ClassProp) | undefined) => string;
238
238
  interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
239
239
  /** Alert title */
@@ -262,7 +262,7 @@ declare function Alert({ className, variant, title, description, icon, onClose,
262
262
  * - Close button on top right
263
263
  */
264
264
  declare const toastVariants: (props?: ({
265
- variant?: "success" | "error" | "warning" | "info" | "default" | null | undefined;
265
+ variant?: "default" | "error" | "success" | "warning" | "info" | null | undefined;
266
266
  } & class_variance_authority_types.ClassProp) | undefined) => string;
267
267
  interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {
268
268
  /** Close handler */
@@ -384,9 +384,9 @@ declare function SettingsSkeleton({ className }: {
384
384
  * - `flat`: no clip-path, rounded corners
385
385
  */
386
386
  declare const glassPanelVariants: (props?: ({
387
- variant?: "flat" | "default" | "cream" | "alt" | "highlight" | null | undefined;
387
+ variant?: "default" | "flat" | "cream" | "alt" | "highlight" | null | undefined;
388
388
  corners?: "none" | "both" | "br" | "tl" | null | undefined;
389
- padding?: "none" | "sm" | "default" | "lg" | "xl" | null | undefined;
389
+ padding?: "sm" | "default" | "lg" | "xl" | "none" | null | undefined;
390
390
  } & class_variance_authority_types.ClassProp) | undefined) => string;
391
391
  interface GlassPanelProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof glassPanelVariants> {
392
392
  /** Add the in-flow indicator dot */
@@ -477,7 +477,7 @@ declare function SidebarButton({ item, expanded, renderLink, onNavigate, }: {
477
477
  expanded: boolean;
478
478
  renderLink?: DockSidebarProps['renderLink'];
479
479
  onNavigate?: () => void;
480
- }): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
480
+ }): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
481
481
 
482
482
  interface WorkspaceSwitcherProps {
483
483
  /** Whether the sidebar is collapsed (icon-only mode) */
@@ -515,7 +515,7 @@ declare function Logo({ size, variant, animated, className, ...props }: LogoProp
515
515
  * From Brand Assets & Icons HTML.
516
516
  */
517
517
  declare const geometricIconVariants: (props?: ({
518
- variant?: "success" | "error" | "warning" | "default" | "outline" | "cream" | "filled" | null | undefined;
518
+ variant?: "default" | "outline" | "error" | "cream" | "filled" | "success" | "warning" | null | undefined;
519
519
  size?: "sm" | "default" | "lg" | "xl" | null | undefined;
520
520
  } & class_variance_authority_types.ClassProp) | undefined) => string;
521
521
  interface GeometricIconProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof geometricIconVariants> {
@@ -606,7 +606,7 @@ declare function StepConnector({ status, variant, }: {
606
606
  * From Brand Assets & Icons HTML.
607
607
  */
608
608
  declare const statusPillVariants: (props?: ({
609
- variant?: "success" | "error" | "warning" | "info" | "default" | "cream" | "in-flow" | "primary" | "deep-work" | "high-energy" | "resting" | "disconnected" | null | undefined;
609
+ variant?: "default" | "error" | "cream" | "in-flow" | "primary" | "success" | "warning" | "info" | "deep-work" | "high-energy" | "resting" | "disconnected" | null | undefined;
610
610
  size?: "sm" | "default" | "lg" | null | undefined;
611
611
  } & class_variance_authority_types.ClassProp) | undefined) => string;
612
612
  interface StatusPillProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof statusPillVariants> {
@@ -1213,7 +1213,7 @@ declare function Label({ className, ...props }: React.ComponentProps<'label'>):
1213
1213
  * Squircle radius, organic easing, focus glow.
1214
1214
  */
1215
1215
  declare const textareaVariants: (props?: ({
1216
- variant?: "error" | "flat" | "default" | "rounded" | "cream" | null | undefined;
1216
+ variant?: "default" | "flat" | "rounded" | "error" | "cream" | null | undefined;
1217
1217
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1218
1218
  interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>, VariantProps<typeof textareaVariants> {
1219
1219
  label?: string;
@@ -1545,12 +1545,15 @@ declare function CreateTaskDialog({ open, onOpenChange, projectId: projectIdProp
1545
1545
  interface InviteMemberDialogProps {
1546
1546
  open: boolean;
1547
1547
  onOpenChange: (open: boolean) => void;
1548
+ /** Workspace slug (overrides context) */
1549
+ workspaceSlug?: string;
1550
+ /** @deprecated use workspaceSlug */
1548
1551
  workspaceId?: string;
1549
1552
  onInvited?: (invite: {
1550
1553
  id: string;
1551
1554
  email: string;
1552
1555
  }) => void;
1553
1556
  }
1554
- declare function InviteMemberDialog({ open, onOpenChange, workspaceId: propWorkspaceId, onInvited, }: InviteMemberDialogProps): react_jsx_runtime.JSX.Element;
1557
+ declare function InviteMemberDialog({ open, onOpenChange, workspaceSlug: propWorkspaceSlug, workspaceId: _deprecated, onInvited, }: InviteMemberDialogProps): react_jsx_runtime.JSX.Element;
1555
1558
 
1556
1559
  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, 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, metricCardVariants, orgLoaderVariants, priorityConfig, statusPillVariants, useCurrentUser, useMediaQuery, useOrganify, useOrganifyApi, useOrganifyGql, useOrganifyNavigation, useOrganifyProject, useOrganifyRest, useOrganifyUser, useOrganifyWorkspace };
package/dist/index.js CHANGED
@@ -1244,9 +1244,9 @@ function SwitcherDropdown({
1244
1244
  onEditClick,
1245
1245
  onDeleteClick
1246
1246
  }) {
1247
- return /* @__PURE__ */ jsxs("div", { className: "absolute top-full left-0 mt-1 w-64 rounded-xl border border-white/20 bg-white/[0.03] backdrop-blur-[40px] shadow-[0_24px_80px_-15px_rgba(0,0,0,0.5)] z-50 overflow-hidden", children: [
1247
+ return /* @__PURE__ */ jsxs("div", { className: "absolute top-full left-0 mt-1 w-64 rounded-xl border border-white/15 bg-[linear-gradient(165deg,rgba(22,26,40,0.92),rgba(11,14,24,0.94))] backdrop-blur-[40px] shadow-[0_24px_80px_-15px_rgba(0,0,0,0.55)] z-50 overflow-hidden", children: [
1248
1248
  /* @__PURE__ */ jsx("div", { className: "px-3 py-2 text-xs font-medium uppercase tracking-wider text-theme-muted border-b border-white/10", children: "Workspaces" }),
1249
- /* @__PURE__ */ jsx(ScrollArea, { className: "max-h-64", children: /* @__PURE__ */ jsx("div", { className: "py-1", children: loading ? /* @__PURE__ */ jsx("div", { className: "space-y-1 px-3 py-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 py-2", children: [
1249
+ /* @__PURE__ */ jsx(ScrollArea, { className: "max-h-64 [&_[data-radix-scroll-area-viewport]]:max-h-64 [&_[data-radix-scroll-area-viewport]]:overflow-y-auto", children: /* @__PURE__ */ jsx("div", { className: "py-1", children: loading ? /* @__PURE__ */ jsx("div", { className: "space-y-1 px-3 py-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 py-2", children: [
1250
1250
  /* @__PURE__ */ jsx(Skeleton, { className: "w-7 h-7", variant: "rounded" }),
1251
1251
  /* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-1.5", children: [
1252
1252
  /* @__PURE__ */ jsx(Skeleton, { className: "h-3.5 w-24" }),
@@ -7422,7 +7422,7 @@ function BoardsSwitcher({
7422
7422
  }
7423
7423
  ),
7424
7424
  isOpen && /* @__PURE__ */ jsx("div", { className: cn(
7425
- "absolute top-full left-0 mt-1 z-50 min-w-[240px]",
7425
+ "absolute top-full left-0 mt-1 z-[9999] min-w-[240px]",
7426
7426
  "bg-elevated/95 backdrop-blur-xl border border-theme-subtle rounded-xl shadow-2xl",
7427
7427
  "animate-in fade-in slide-in-from-top-2 duration-200"
7428
7428
  ), children: /* @__PURE__ */ jsxs("div", { className: "p-1.5", children: [
@@ -7543,7 +7543,7 @@ function SprintFilter({
7543
7543
  }
7544
7544
  ),
7545
7545
  isOpen && /* @__PURE__ */ jsx("div", { className: cn(
7546
- "absolute top-full left-0 mt-1 z-50 min-w-[220px]",
7546
+ "absolute top-full left-0 mt-1 z-[9999] min-w-[220px]",
7547
7547
  "bg-elevated/95 backdrop-blur-xl border border-theme-subtle rounded-xl shadow-2xl",
7548
7548
  "animate-in fade-in slide-in-from-top-2 duration-200"
7549
7549
  ), children: /* @__PURE__ */ jsxs("div", { className: "p-1.5 max-h-[280px] overflow-y-auto scrollbar-none", children: [
@@ -9058,8 +9058,8 @@ function CreateTaskDialog({
9058
9058
  );
9059
9059
  }
9060
9060
  var INVITE_MEMBER_MUTATION = `
9061
- mutation InviteMember($input: InviteMemberInput!) {
9062
- inviteMember(input: $input) {
9061
+ mutation InviteWorkspaceMember($slug: String!, $input: InviteMemberInput!) {
9062
+ inviteWorkspaceMember(slug: $slug, input: $input) {
9063
9063
  id
9064
9064
  email
9065
9065
  role
@@ -9070,12 +9070,13 @@ var INVITE_MEMBER_MUTATION = `
9070
9070
  function InviteMemberDialog({
9071
9071
  open,
9072
9072
  onOpenChange,
9073
- workspaceId: propWorkspaceId,
9073
+ workspaceSlug: propWorkspaceSlug,
9074
+ workspaceId: _deprecated,
9074
9075
  onInvited
9075
9076
  }) {
9076
9077
  const gql = useOrganifyGql();
9077
9078
  const { workspace } = useOrganifyWorkspace();
9078
- const effectiveWsId = propWorkspaceId ?? workspace?.id;
9079
+ const effectiveSlug = propWorkspaceSlug ?? workspace?.slug;
9079
9080
  const [email, setEmail] = React5.useState("");
9080
9081
  const [role, setRole] = React5.useState("MEMBER");
9081
9082
  const [error, setError] = React5.useState("");
@@ -9098,7 +9099,7 @@ function InviteMemberDialog({
9098
9099
  setError("Invalid email format");
9099
9100
  return;
9100
9101
  }
9101
- if (!effectiveWsId) {
9102
+ if (!effectiveSlug) {
9102
9103
  setError("No workspace context");
9103
9104
  return;
9104
9105
  }
@@ -9108,10 +9109,10 @@ function InviteMemberDialog({
9108
9109
  const data = await gql(
9109
9110
  "workspaces",
9110
9111
  INVITE_MEMBER_MUTATION,
9111
- { input: { email: trimmed, role, workspaceId: effectiveWsId } }
9112
+ { slug: effectiveSlug, input: { email: trimmed, role } }
9112
9113
  );
9113
9114
  onOpenChange(false);
9114
- onInvited?.(data.inviteMember);
9115
+ onInvited?.(data.inviteWorkspaceMember);
9115
9116
  } catch (err) {
9116
9117
  setError(err.message || "Failed to send invite");
9117
9118
  } finally {