@spacesync/client 0.1.2 → 0.1.3

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.
@@ -1,5 +1,5 @@
1
- export { AnalogClockPicker } from './chunk-YAVEMXXV.js';
2
- import './chunk-4A6RCBB5.js';
1
+ export { AnalogClockPicker } from './chunk-OIZMURIX.js';
2
+ import './chunk-J3JSRCG5.js';
3
3
  import './chunk-RV5PMZYZ.js';
4
4
  import './chunk-L65F4EMK.js';
5
5
  import './chunk-PBNBLCC2.js';
@@ -1,5 +1,5 @@
1
- import { AnalogClockPicker } from './chunk-YAVEMXXV.js';
2
- import { formatTimeForDisplay } from './chunk-4A6RCBB5.js';
1
+ import { AnalogClockPicker } from './chunk-OIZMURIX.js';
2
+ import { formatTimeForDisplay } from './chunk-J3JSRCG5.js';
3
3
  import './chunk-RV5PMZYZ.js';
4
4
  import './chunk-L65F4EMK.js';
5
5
  import './chunk-PBNBLCC2.js';
@@ -1,4 +1,4 @@
1
- import './chunk-4A6RCBB5.js';
1
+ import './chunk-J3JSRCG5.js';
2
2
  import './chunk-RV5PMZYZ.js';
3
3
  import './chunk-L65F4EMK.js';
4
4
  import './chunk-PBNBLCC2.js';
@@ -16,6 +16,7 @@ import * as AvatarPrimitive from '@radix-ui/react-avatar';
16
16
  import { Slot } from '@radix-ui/react-slot';
17
17
  import { DayPicker } from 'react-day-picker';
18
18
  import * as React from 'react';
19
+ import { useRef, useState, useLayoutEffect } from 'react';
19
20
  import useEmblaCarousel from 'embla-carousel-react';
20
21
  import * as RechartsPrimitive from 'recharts';
21
22
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -1525,6 +1526,16 @@ function CommandShortcut({ className, ...props }) {
1525
1526
  }
1526
1527
  );
1527
1528
  }
1529
+ function ContentFade({ children, className }) {
1530
+ return /* @__PURE__ */ jsx(
1531
+ "div",
1532
+ {
1533
+ "data-slot": "content-fade",
1534
+ className: cn("animate-in fade-in duration-300 ease-out motion-reduce:animate-none", className),
1535
+ children
1536
+ }
1537
+ );
1538
+ }
1528
1539
  function ContextMenu({ ...props }) {
1529
1540
  return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
1530
1541
  }
@@ -1704,6 +1715,27 @@ function ContextMenuShortcut({ className, ...props }) {
1704
1715
  }
1705
1716
  );
1706
1717
  }
1718
+ function DashFade({
1719
+ children,
1720
+ delayMs = 0,
1721
+ className
1722
+ }) {
1723
+ return /* @__PURE__ */ jsx(
1724
+ "div",
1725
+ {
1726
+ "data-slot": "dash-fade",
1727
+ className: cn(
1728
+ "animate-in fade-in slide-in-from-bottom-2 duration-500 ease-out fill-mode-both motion-reduce:animate-none",
1729
+ className
1730
+ ),
1731
+ style: {
1732
+ animationDelay: delayMs ? `${delayMs}ms` : void 0,
1733
+ animationFillMode: "both"
1734
+ },
1735
+ children
1736
+ }
1737
+ );
1738
+ }
1707
1739
  function parseLocalDate(iso) {
1708
1740
  if (!iso || !/^\d{4}-\d{2}-\d{2}$/.test(iso)) return void 0;
1709
1741
  const [y, m, d] = iso.split("-").map(Number);
@@ -1946,6 +1978,41 @@ function DropdownMenuSubContent({
1946
1978
  }
1947
1979
  );
1948
1980
  }
1981
+ function Skeleton({ className, ...props }) {
1982
+ return /* @__PURE__ */ jsx(
1983
+ "div",
1984
+ {
1985
+ "data-slot": "skeleton",
1986
+ className: cn("bg-accent animate-pulse rounded-md", className),
1987
+ ...props
1988
+ }
1989
+ );
1990
+ }
1991
+ function FeedSkeleton({
1992
+ rows = 3,
1993
+ variant = "list"
1994
+ }) {
1995
+ if (variant === "cards") {
1996
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-2.5", role: "status", "aria-busy": "true", "aria-label": "Loading", children: [
1997
+ Array.from({ length: rows }, (_, i) => /* @__PURE__ */ jsxs("div", { className: "space-y-2 rounded-lg border border-border bg-muted/40 p-3", children: [
1998
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
1999
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-28" }),
2000
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-12" })
2001
+ ] }),
2002
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-36" })
2003
+ ] }, i)),
2004
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
2005
+ ] });
2006
+ }
2007
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-1", role: "status", "aria-busy": "true", "aria-label": "Loading", children: [
2008
+ Array.from({ length: rows }, (_, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 rounded-lg px-3 py-2.5", children: [
2009
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-2 w-2 shrink-0 rounded-full" }),
2010
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 flex-1" }),
2011
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-12 shrink-0" })
2012
+ ] }, i)),
2013
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
2014
+ ] });
2015
+ }
1949
2016
  var fieldLabelClass = "text-[10px] uppercase tracking-widest text-muted-foreground";
1950
2017
  function FieldLabel({
1951
2018
  as,
@@ -3483,16 +3550,6 @@ function SheetDescription({
3483
3550
  }
3484
3551
  );
3485
3552
  }
3486
- function Skeleton({ className, ...props }) {
3487
- return /* @__PURE__ */ jsx(
3488
- "div",
3489
- {
3490
- "data-slot": "skeleton",
3491
- className: cn("bg-accent animate-pulse rounded-md", className),
3492
- ...props
3493
- }
3494
- );
3495
- }
3496
3553
  function TooltipProvider({
3497
3554
  delayDuration = 0,
3498
3555
  ...props
@@ -4165,6 +4222,50 @@ function Slider({
4165
4222
  }
4166
4223
  );
4167
4224
  }
4225
+ function SmoothSize({ children, className }) {
4226
+ const innerRef = useRef(null);
4227
+ const [height, setHeight] = useState();
4228
+ const heightRef = useRef(void 0);
4229
+ useLayoutEffect(() => {
4230
+ const el = innerRef.current;
4231
+ if (!el) return;
4232
+ let frame = 0;
4233
+ const measure = (animate) => {
4234
+ const next = Math.round(el.getBoundingClientRect().height);
4235
+ if (!animate || heightRef.current === void 0) {
4236
+ heightRef.current = next;
4237
+ setHeight(next);
4238
+ return;
4239
+ }
4240
+ if (heightRef.current === next) return;
4241
+ cancelAnimationFrame(frame);
4242
+ frame = requestAnimationFrame(() => {
4243
+ heightRef.current = next;
4244
+ setHeight(next);
4245
+ });
4246
+ };
4247
+ measure(false);
4248
+ const observer = new ResizeObserver(() => measure(true));
4249
+ observer.observe(el);
4250
+ return () => {
4251
+ cancelAnimationFrame(frame);
4252
+ observer.disconnect();
4253
+ };
4254
+ }, []);
4255
+ return /* @__PURE__ */ jsx(
4256
+ "div",
4257
+ {
4258
+ "data-slot": "smooth-size",
4259
+ className: cn(
4260
+ "w-full overflow-hidden motion-reduce:transition-none",
4261
+ height !== void 0 && "transition-[height] duration-300 ease-out",
4262
+ className
4263
+ ),
4264
+ style: height !== void 0 ? { height } : void 0,
4265
+ children: /* @__PURE__ */ jsx("div", { ref: innerRef, className: "w-full", children })
4266
+ }
4267
+ );
4268
+ }
4168
4269
  var Toaster = ({ ...props }) => {
4169
4270
  const { resolvedTheme } = useTheme();
4170
4271
  return /* @__PURE__ */ jsx(
@@ -4920,6 +5021,6 @@ function ToggleGroupItem({
4920
5021
  );
4921
5022
  }
4922
5023
 
4923
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxField, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DateField, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FieldLabel, FilterPopover, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, IconInput, InputGroup, InputGroupInput, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NumberInput, PasswordInput, PhoneInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, ReceiptCard, ReceiptSummaryRow, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResponsiveAlertDialog, ResponsiveAlertDialogAction, ResponsiveAlertDialogCancel, ResponsiveAlertDialogContent, ResponsiveAlertDialogDescription, ResponsiveAlertDialogTitle, ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogTitle, ResponsiveDialogTrigger, ScrollArea, ScrollBar, SegmentedTabList, SegmentedTabTrigger, SelectableCard, SelectableListRow, Separator3 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShellTopBarViewToggle, ShellTopBarViewToggleItem, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, TabCountBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, Textarea, TimeField, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, fieldLabelClass, formatTimeForDisplay, navigationMenuTriggerStyle, parseHm, tabsListVariants, tabsTriggerVariants, textVariants, toTimeStr, toggleVariants, useFormField, useIsMobile, useResponsiveDialogDrawer, useSidebar };
4924
- //# sourceMappingURL=chunk-4A6RCBB5.js.map
4925
- //# sourceMappingURL=chunk-4A6RCBB5.js.map
5024
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxField, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContentFade, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DashFade, DateField, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FeedSkeleton, FieldLabel, FilterPopover, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, IconInput, InputGroup, InputGroupInput, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NumberInput, PasswordInput, PhoneInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, ReceiptCard, ReceiptSummaryRow, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResponsiveAlertDialog, ResponsiveAlertDialogAction, ResponsiveAlertDialogCancel, ResponsiveAlertDialogContent, ResponsiveAlertDialogDescription, ResponsiveAlertDialogTitle, ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogTitle, ResponsiveDialogTrigger, ScrollArea, ScrollBar, SegmentedTabList, SegmentedTabTrigger, SelectableCard, SelectableListRow, Separator3 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShellTopBarViewToggle, ShellTopBarViewToggleItem, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SmoothSize, Switch, TabCountBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, Textarea, TimeField, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, fieldLabelClass, formatTimeForDisplay, navigationMenuTriggerStyle, parseHm, tabsListVariants, tabsTriggerVariants, textVariants, toTimeStr, toggleVariants, useFormField, useIsMobile, useResponsiveDialogDrawer, useSidebar };
5025
+ //# sourceMappingURL=chunk-J3JSRCG5.js.map
5026
+ //# sourceMappingURL=chunk-J3JSRCG5.js.map