@locusgraph/components 0.1.0 → 0.1.1

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.
Files changed (55) hide show
  1. package/dist/action/button-group.d.ts +1 -1
  2. package/dist/action/button-group.js +1 -1
  3. package/dist/action/toggle-group.d.ts +1 -1
  4. package/dist/action/toggle-group.js +1 -1
  5. package/dist/display/chart/chart-legend.js +1 -1
  6. package/dist/display/chart/chart-tooltip.js +1 -1
  7. package/dist/display/chat/attachment/attachment-parts.d.ts +1 -1
  8. package/dist/display/chat/attachment/attachment-parts.js +1 -1
  9. package/dist/display/chat/message-scroller.d.ts +1 -1
  10. package/dist/display/chat/message-scroller.js +1 -1
  11. package/dist/display/content/item.d.ts +1 -1
  12. package/dist/display/content/item.js +1 -1
  13. package/dist/display/media/carousel-controls.d.ts +1 -1
  14. package/dist/display/media/carousel-controls.js +2 -2
  15. package/dist/form/advanced/calendar-day-button.js +1 -1
  16. package/dist/form/advanced/calendar.d.ts +1 -1
  17. package/dist/form/advanced/calendar.js +2 -2
  18. package/dist/form/advanced/combobox/combobox-chips.js +1 -1
  19. package/dist/form/advanced/combobox/combobox.js +1 -1
  20. package/dist/form/field/field-separator.js +1 -1
  21. package/dist/form/field/field-text.d.ts +1 -1
  22. package/dist/form/field/field-text.js +1 -1
  23. package/dist/form/hook-form/form.js +1 -1
  24. package/dist/form/input-group.d.ts +1 -1
  25. package/dist/form/input-group.js +3 -3
  26. package/dist/index.d.ts +95 -95
  27. package/dist/index.js +94 -94
  28. package/dist/layout/sidebar/sidebar-context.js +2 -2
  29. package/dist/layout/sidebar/sidebar-menu-sub.js +1 -1
  30. package/dist/layout/sidebar/sidebar-menu.d.ts +1 -1
  31. package/dist/layout/sidebar/sidebar-menu.js +2 -2
  32. package/dist/layout/sidebar/sidebar-sections.d.ts +2 -2
  33. package/dist/layout/sidebar/sidebar-sections.js +3 -3
  34. package/dist/layout/sidebar/sidebar.d.ts +1 -1
  35. package/dist/layout/sidebar/sidebar.js +3 -3
  36. package/dist/navigation/pagination.d.ts +1 -1
  37. package/dist/navigation/pagination.js +1 -1
  38. package/dist/overlay/alert-dialog.d.ts +1 -1
  39. package/dist/overlay/alert-dialog.js +1 -1
  40. package/dist/overlay/floating/command.d.ts +1 -1
  41. package/dist/overlay/floating/command.js +1 -1
  42. package/dist/shell/app-header.js +2 -2
  43. package/dist/shell/app-shell.js +2 -2
  44. package/dist/shell/breadcrumbs.d.ts +1 -1
  45. package/dist/shell/docs/docs-header.d.ts +1 -1
  46. package/dist/shell/docs/docs-header.js +2 -2
  47. package/dist/shell/docs/docs-shell.js +1 -1
  48. package/dist/shell/docs/docs-sidebar.d.ts +1 -1
  49. package/dist/shell/docs/on-this-page.js +1 -1
  50. package/dist/shell/navigation/app-sidebar.d.ts +2 -2
  51. package/dist/shell/navigation/app-sidebar.js +4 -4
  52. package/dist/shell/navigation/nav-group.d.ts +1 -1
  53. package/dist/shell/navigation/nav-group.js +2 -2
  54. package/dist/shell/theme-toggle.js +1 -1
  55. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
- import { Separator } from "../display/separator";
2
+ import { Separator } from "../display/separator.js";
3
3
  declare const buttonGroupVariants: (props?: ({
4
4
  orientation?: "horizontal" | "vertical" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { cn } from "cn";
4
4
  import * as Slot from "radix-ui/slot";
5
- import { Separator } from "../display/separator";
5
+ import { Separator } from "../display/separator.js";
6
6
  const buttonGroupVariants = cva("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
7
7
  variants: {
8
8
  orientation: {
@@ -1,7 +1,7 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
2
  import * as ToggleGroupPrimitive from "radix-ui/toggle-group";
3
3
  import * as React from "react";
4
- import { toggleVariants } from "./toggle";
4
+ import { toggleVariants } from "./toggle.js";
5
5
  declare function ToggleGroup({ className, variant, size, spacing, children, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants> & {
6
6
  spacing?: number;
7
7
  }): React.JSX.Element;
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as ToggleGroupPrimitive from "radix-ui/toggle-group";
5
5
  import * as React from "react";
6
- import { toggleVariants } from "./toggle";
6
+ import { toggleVariants } from "./toggle.js";
7
7
  const ToggleGroupContext = React.createContext({
8
8
  size: "default",
9
9
  variant: "default",
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as RechartsPrimitive from "recharts";
5
- import { getPayloadConfigFromPayload, useChart } from "./chart-container";
5
+ import { getPayloadConfigFromPayload, useChart } from "./chart-container.js";
6
6
  const ChartLegend = RechartsPrimitive.Legend;
7
7
  function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey, }) {
8
8
  const { config } = useChart();
@@ -3,7 +3,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
3
3
  import { cn } from "cn";
4
4
  import * as React from "react";
5
5
  import * as RechartsPrimitive from "recharts";
6
- import { getPayloadConfigFromPayload, useChart } from "./chart-container";
6
+ import { getPayloadConfigFromPayload, useChart } from "./chart-container.js";
7
7
  const ChartTooltip = RechartsPrimitive.Tooltip;
8
8
  function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }) {
9
9
  const { config } = useChart();
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Button } from "../../../action/button";
2
+ import { Button } from "../../../action/button.js";
3
3
  declare function AttachmentTitle({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
4
4
  declare function AttachmentDescription({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
5
5
  declare function AttachmentActions({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
3
  import * as Slot from "radix-ui/slot";
4
- import { Button } from "../../../action/button";
4
+ import { Button } from "../../../action/button.js";
5
5
  function AttachmentTitle({ className, ...props }) {
6
6
  return (_jsx("span", { "data-slot": "attachment-title", className: cn("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer", className), ...props }));
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "@shadcn/react/message-scroller";
2
2
  import * as React from "react";
3
- import { Button } from "../../action/button";
3
+ import { Button } from "../../action/button.js";
4
4
  declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>): React.JSX.Element;
5
5
  declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Root>): React.JSX.Element;
6
6
  declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>): React.JSX.Element;
@@ -3,7 +3,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
3
3
  import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, } from "@shadcn/react/message-scroller";
4
4
  import { cn } from "cn";
5
5
  import { ArrowDownIcon } from "lucide-react";
6
- import { Button } from "../../action/button";
6
+ import { Button } from "../../action/button.js";
7
7
  function MessageScrollerProvider(props) {
8
8
  return _jsx(MessageScrollerPrimitive.Provider, { ...props });
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
- import { Separator } from "../separator";
3
+ import { Separator } from "../separator.js";
4
4
  declare function ItemGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
5
  declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
6
6
  declare const itemVariants: (props?: ({
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { cn } from "cn";
4
4
  import * as Slot from "radix-ui/slot";
5
- import { Separator } from "../separator";
5
+ import { Separator } from "../separator.js";
6
6
  function ItemGroup({ className, ...props }) {
7
7
  return (_jsx("div", { role: "list", "data-slot": "item-group", className: cn("group/item-group flex flex-col", className), ...props }));
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Button } from "../../action/button";
2
+ import { Button } from "../../action/button.js";
3
3
  declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
4
4
  declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
5
5
  export { CarouselNext, CarouselPrevious };
@@ -2,8 +2,8 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import { ArrowLeft, ArrowRight } from "lucide-react";
5
- import { Button } from "../../action/button";
6
- import { useCarousel } from "./carousel";
5
+ import { Button } from "../../action/button.js";
6
+ import { useCarousel } from "./carousel.js";
7
7
  function CarouselPrevious({ className, variant = "outline", size = "icon", ...props }) {
8
8
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
9
9
  return (_jsxs(Button, { "data-slot": "carousel-previous", variant: variant, size: size, className: cn("absolute size-8 rounded-full", orientation === "horizontal"
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as React from "react";
5
5
  import { getDefaultClassNames } from "react-day-picker";
6
- import { Button } from "../../action/button";
6
+ import { Button } from "../../action/button.js";
7
7
  function CalendarDayButton({ className, day, modifiers, ...props }) {
8
8
  const defaultClassNames = getDefaultClassNames();
9
9
  const ref = React.useRef(null);
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { DayPicker } from "react-day-picker";
3
- import { Button } from "../../action/button";
3
+ import { Button } from "../../action/button.js";
4
4
  declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
5
  buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
6
  }): React.JSX.Element;
@@ -3,8 +3,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
5
  import { DayPicker, getDefaultClassNames } from "react-day-picker";
6
- import { buttonVariants } from "../../action/button";
7
- import { CalendarDayButton } from "./calendar-day-button";
6
+ import { buttonVariants } from "../../action/button.js";
7
+ import { CalendarDayButton } from "./calendar-day-button.js";
8
8
  function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
9
9
  const defaultClassNames = getDefaultClassNames();
10
10
  return (_jsx(DayPicker, { showOutsideDays: showOutsideDays, className: cn("group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw `rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw `rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className), captionLayout: captionLayout, formatters: {
@@ -4,7 +4,7 @@ import { Combobox as ComboboxPrimitive } from "@base-ui/react";
4
4
  import { cn } from "cn";
5
5
  import { XIcon } from "lucide-react";
6
6
  import * as React from "react";
7
- import { Button } from "../../../action/button";
7
+ import { Button } from "../../../action/button.js";
8
8
  function ComboboxChips({ className, ...props }) {
9
9
  return (_jsx(ComboboxPrimitive.Chips, { "data-slot": "combobox-chips", className: cn("flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border border-input bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-[3px] has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40", className), ...props }));
10
10
  }
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Combobox as ComboboxPrimitive } from "@base-ui/react";
4
4
  import { cn } from "cn";
5
5
  import { ChevronDownIcon, XIcon } from "lucide-react";
6
- import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../input-group";
6
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../input-group.js";
7
7
  const Combobox = ComboboxPrimitive.Root;
8
8
  function ComboboxValue({ ...props }) {
9
9
  return _jsx(ComboboxPrimitive.Value, { "data-slot": "combobox-value", ...props });
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
- import { Separator } from "../../display/separator";
3
+ import { Separator } from "../../display/separator.js";
4
4
  function FieldSeparator({ children, className, ...props }) {
5
5
  return (_jsxs("div", { "data-slot": "field-separator", "data-content": !!children, className: cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", className), ...props, children: [_jsx(Separator, { className: "absolute inset-0 top-1/2" }), children && (_jsx("span", { className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground", "data-slot": "field-separator-content", children: children }))] }));
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import { Label } from "../label";
2
+ import { Label } from "../label.js";
3
3
  declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): React.JSX.Element;
4
4
  declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
5
  declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
- import { Label } from "../label";
3
+ import { Label } from "../label.js";
4
4
  function FieldLabel({ className, ...props }) {
5
5
  return (_jsx(Label, { "data-slot": "field-label", className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4", "has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10", className), ...props }));
6
6
  }
@@ -4,7 +4,7 @@ import { cn } from "cn";
4
4
  import * as Slot from "radix-ui/slot";
5
5
  import * as React from "react";
6
6
  import { Controller, FormProvider, useFormContext, useFormState, } from "react-hook-form";
7
- import { Label } from "../label";
7
+ import { Label } from "../label.js";
8
8
  const Form = FormProvider;
9
9
  const FormFieldContext = React.createContext({});
10
10
  const FormField = ({ ...props }) => {
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
- import { Button } from "../action/button";
3
+ import { Button } from "../action/button.js";
4
4
  declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
5
  declare const inputGroupAddonVariants: (props?: ({
6
6
  align?: "block-end" | "block-start" | "inline-end" | "inline-start" | null | undefined;
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { cn } from "cn";
5
- import { Button } from "../action/button";
6
- import { Input } from "./input";
7
- import { Textarea } from "./textarea";
5
+ import { Button } from "../action/button.js";
6
+ import { Input } from "./input.js";
7
+ import { Textarea } from "./textarea.js";
8
8
  const inputGroupAlignmentClasses = [
9
9
  "has-[>[data-align=inline-start]]:[&>input]:pl-2",
10
10
  "has-[>[data-align=inline-end]]:[&>input]:pr-2",
package/dist/index.d.ts CHANGED
@@ -1,96 +1,96 @@
1
1
  export { cn } from "cn";
2
- export * from "./action/button";
3
- export * from "./action/button-group";
4
- export * from "./action/toggle";
5
- export * from "./action/toggle-group";
6
- export * from "./display/avatar";
7
- export * from "./display/badge";
8
- export * from "./display/chart/chart-container";
9
- export * from "./display/chart/chart-legend";
10
- export * from "./display/chart/chart-tooltip";
11
- export * from "./display/chat/attachment/attachment";
12
- export * from "./display/chat/attachment/attachment-parts";
13
- export * from "./display/chat/bubble";
14
- export * from "./display/chat/marker";
15
- export * from "./display/chat/message";
16
- export * from "./display/chat/message-scroller";
17
- export * from "./display/content/item";
18
- export * from "./display/content/kbd";
19
- export * from "./display/media/aspect-ratio";
20
- export * from "./display/media/carousel";
21
- export * from "./display/media/carousel-controls";
22
- export * from "./display/rule-grid/rule-grid";
23
- export * from "./display/separator";
24
- export * from "./display/status/alert";
25
- export * from "./display/status/empty";
26
- export * from "./display/status/progress";
27
- export * from "./display/status/skeleton";
28
- export * from "./display/status/spinner";
29
- export * from "./display/table";
30
- export * from "./feedback/toaster";
31
- export * from "./form/advanced/calendar";
32
- export * from "./form/advanced/calendar-day-button";
33
- export * from "./form/advanced/combobox/combobox";
34
- export * from "./form/advanced/combobox/combobox-chips";
35
- export * from "./form/advanced/combobox/combobox-items";
36
- export * from "./form/advanced/input-otp";
37
- export * from "./form/choice/checkbox";
38
- export * from "./form/choice/radio-group";
39
- export * from "./form/choice/select";
40
- export * from "./form/choice/slider";
41
- export * from "./form/choice/switch";
42
- export * from "./form/field/field";
43
- export * from "./form/field/field-error";
44
- export * from "./form/field/field-separator";
45
- export * from "./form/field/field-set";
46
- export * from "./form/field/field-text";
47
- export * from "./form/hook-form/form";
48
- export * from "./form/input";
49
- export * from "./form/input-group";
50
- export * from "./form/label";
51
- export * from "./form/native-select";
52
- export * from "./form/textarea";
53
- export * from "./layout/accordion";
54
- export * from "./layout/collapsible";
55
- export * from "./layout/resizable";
56
- export * from "./layout/scroll/direction";
57
- export * from "./layout/scroll/scroll-area";
58
- export * from "./layout/sidebar/sidebar";
59
- export { SidebarProvider, useSidebar } from "./layout/sidebar/sidebar-context";
60
- export * from "./layout/sidebar/sidebar-menu";
61
- export * from "./layout/sidebar/sidebar-menu-sub";
62
- export * from "./layout/sidebar/sidebar-sections";
63
- export * from "./layout/tabs";
64
- export * from "./layout/use-mobile";
65
- export * from "./navigation/breadcrumb";
66
- export * from "./navigation/menubar/menubar";
67
- export * from "./navigation/menubar/menubar-items";
68
- export * from "./navigation/menubar/menubar-sub";
69
- export * from "./navigation/navigation-menu";
70
- export * from "./navigation/pagination";
71
- export * from "./overlay/alert-dialog";
72
- export * from "./overlay/context-menu/context-menu";
73
- export * from "./overlay/context-menu/context-menu-items";
74
- export * from "./overlay/context-menu/context-menu-sub";
75
- export * from "./overlay/dialog";
76
- export * from "./overlay/floating/command";
77
- export * from "./overlay/floating/drawer";
78
- export * from "./overlay/floating/hover-card";
79
- export * from "./overlay/menu/dropdown-menu";
80
- export * from "./overlay/menu/dropdown-menu-choice";
81
- export * from "./overlay/menu/dropdown-menu-item";
82
- export * from "./overlay/menu/dropdown-menu-sub";
83
- export * from "./overlay/popover";
84
- export * from "./overlay/sheet";
85
- export * from "./overlay/tooltip";
86
- export * from "./shell/app-header";
87
- export * from "./shell/app-shell";
88
- export * from "./shell/breadcrumbs";
89
- export * from "./shell/docs/docs-header";
90
- export * from "./shell/docs/docs-shell";
91
- export * from "./shell/docs/docs-sidebar";
92
- export * from "./shell/docs/on-this-page";
93
- export * from "./shell/link";
94
- export * from "./shell/navigation/app-sidebar";
95
- export type { AppNavGroup, AppNavItem } from "./shell/navigation/nav-group";
96
- export * from "./shell/theme-toggle";
2
+ export * from "./action/button.js";
3
+ export * from "./action/button-group.js";
4
+ export * from "./action/toggle.js";
5
+ export * from "./action/toggle-group.js";
6
+ export * from "./display/avatar.js";
7
+ export * from "./display/badge.js";
8
+ export * from "./display/chart/chart-container.js";
9
+ export * from "./display/chart/chart-legend.js";
10
+ export * from "./display/chart/chart-tooltip.js";
11
+ export * from "./display/chat/attachment/attachment.js";
12
+ export * from "./display/chat/attachment/attachment-parts.js";
13
+ export * from "./display/chat/bubble.js";
14
+ export * from "./display/chat/marker.js";
15
+ export * from "./display/chat/message.js";
16
+ export * from "./display/chat/message-scroller.js";
17
+ export * from "./display/content/item.js";
18
+ export * from "./display/content/kbd.js";
19
+ export * from "./display/media/aspect-ratio.js";
20
+ export * from "./display/media/carousel.js";
21
+ export * from "./display/media/carousel-controls.js";
22
+ export * from "./display/rule-grid/rule-grid.js";
23
+ export * from "./display/separator.js";
24
+ export * from "./display/status/alert.js";
25
+ export * from "./display/status/empty.js";
26
+ export * from "./display/status/progress.js";
27
+ export * from "./display/status/skeleton.js";
28
+ export * from "./display/status/spinner.js";
29
+ export * from "./display/table.js";
30
+ export * from "./feedback/toaster.js";
31
+ export * from "./form/advanced/calendar.js";
32
+ export * from "./form/advanced/calendar-day-button.js";
33
+ export * from "./form/advanced/combobox/combobox.js";
34
+ export * from "./form/advanced/combobox/combobox-chips.js";
35
+ export * from "./form/advanced/combobox/combobox-items.js";
36
+ export * from "./form/advanced/input-otp.js";
37
+ export * from "./form/choice/checkbox.js";
38
+ export * from "./form/choice/radio-group.js";
39
+ export * from "./form/choice/select.js";
40
+ export * from "./form/choice/slider.js";
41
+ export * from "./form/choice/switch.js";
42
+ export * from "./form/field/field.js";
43
+ export * from "./form/field/field-error.js";
44
+ export * from "./form/field/field-separator.js";
45
+ export * from "./form/field/field-set.js";
46
+ export * from "./form/field/field-text.js";
47
+ export * from "./form/hook-form/form.js";
48
+ export * from "./form/input.js";
49
+ export * from "./form/input-group.js";
50
+ export * from "./form/label.js";
51
+ export * from "./form/native-select.js";
52
+ export * from "./form/textarea.js";
53
+ export * from "./layout/accordion.js";
54
+ export * from "./layout/collapsible.js";
55
+ export * from "./layout/resizable.js";
56
+ export * from "./layout/scroll/direction.js";
57
+ export * from "./layout/scroll/scroll-area.js";
58
+ export * from "./layout/sidebar/sidebar.js";
59
+ export { SidebarProvider, useSidebar } from "./layout/sidebar/sidebar-context.js";
60
+ export * from "./layout/sidebar/sidebar-menu.js";
61
+ export * from "./layout/sidebar/sidebar-menu-sub.js";
62
+ export * from "./layout/sidebar/sidebar-sections.js";
63
+ export * from "./layout/tabs.js";
64
+ export * from "./layout/use-mobile.js";
65
+ export * from "./navigation/breadcrumb.js";
66
+ export * from "./navigation/menubar/menubar.js";
67
+ export * from "./navigation/menubar/menubar-items.js";
68
+ export * from "./navigation/menubar/menubar-sub.js";
69
+ export * from "./navigation/navigation-menu.js";
70
+ export * from "./navigation/pagination.js";
71
+ export * from "./overlay/alert-dialog.js";
72
+ export * from "./overlay/context-menu/context-menu.js";
73
+ export * from "./overlay/context-menu/context-menu-items.js";
74
+ export * from "./overlay/context-menu/context-menu-sub.js";
75
+ export * from "./overlay/dialog.js";
76
+ export * from "./overlay/floating/command.js";
77
+ export * from "./overlay/floating/drawer.js";
78
+ export * from "./overlay/floating/hover-card.js";
79
+ export * from "./overlay/menu/dropdown-menu.js";
80
+ export * from "./overlay/menu/dropdown-menu-choice.js";
81
+ export * from "./overlay/menu/dropdown-menu-item.js";
82
+ export * from "./overlay/menu/dropdown-menu-sub.js";
83
+ export * from "./overlay/popover.js";
84
+ export * from "./overlay/sheet.js";
85
+ export * from "./overlay/tooltip.js";
86
+ export * from "./shell/app-header.js";
87
+ export * from "./shell/app-shell.js";
88
+ export * from "./shell/breadcrumbs.js";
89
+ export * from "./shell/docs/docs-header.js";
90
+ export * from "./shell/docs/docs-shell.js";
91
+ export * from "./shell/docs/docs-sidebar.js";
92
+ export * from "./shell/docs/on-this-page.js";
93
+ export * from "./shell/link.js";
94
+ export * from "./shell/navigation/app-sidebar.js";
95
+ export type { AppNavGroup, AppNavItem } from "./shell/navigation/nav-group.js";
96
+ export * from "./shell/theme-toggle.js";
package/dist/index.js CHANGED
@@ -1,95 +1,95 @@
1
1
  export { cn } from "cn";
2
- export * from "./action/button";
3
- export * from "./action/button-group";
4
- export * from "./action/toggle";
5
- export * from "./action/toggle-group";
6
- export * from "./display/avatar";
7
- export * from "./display/badge";
8
- export * from "./display/chart/chart-container";
9
- export * from "./display/chart/chart-legend";
10
- export * from "./display/chart/chart-tooltip";
11
- export * from "./display/chat/attachment/attachment";
12
- export * from "./display/chat/attachment/attachment-parts";
13
- export * from "./display/chat/bubble";
14
- export * from "./display/chat/marker";
15
- export * from "./display/chat/message";
16
- export * from "./display/chat/message-scroller";
17
- export * from "./display/content/item";
18
- export * from "./display/content/kbd";
19
- export * from "./display/media/aspect-ratio";
20
- export * from "./display/media/carousel";
21
- export * from "./display/media/carousel-controls";
22
- export * from "./display/rule-grid/rule-grid";
23
- export * from "./display/separator";
24
- export * from "./display/status/alert";
25
- export * from "./display/status/empty";
26
- export * from "./display/status/progress";
27
- export * from "./display/status/skeleton";
28
- export * from "./display/status/spinner";
29
- export * from "./display/table";
30
- export * from "./feedback/toaster";
31
- export * from "./form/advanced/calendar";
32
- export * from "./form/advanced/calendar-day-button";
33
- export * from "./form/advanced/combobox/combobox";
34
- export * from "./form/advanced/combobox/combobox-chips";
35
- export * from "./form/advanced/combobox/combobox-items";
36
- export * from "./form/advanced/input-otp";
37
- export * from "./form/choice/checkbox";
38
- export * from "./form/choice/radio-group";
39
- export * from "./form/choice/select";
40
- export * from "./form/choice/slider";
41
- export * from "./form/choice/switch";
42
- export * from "./form/field/field";
43
- export * from "./form/field/field-error";
44
- export * from "./form/field/field-separator";
45
- export * from "./form/field/field-set";
46
- export * from "./form/field/field-text";
47
- export * from "./form/hook-form/form";
48
- export * from "./form/input";
49
- export * from "./form/input-group";
50
- export * from "./form/label";
51
- export * from "./form/native-select";
52
- export * from "./form/textarea";
53
- export * from "./layout/accordion";
54
- export * from "./layout/collapsible";
55
- export * from "./layout/resizable";
56
- export * from "./layout/scroll/direction";
57
- export * from "./layout/scroll/scroll-area";
58
- export * from "./layout/sidebar/sidebar";
59
- export { SidebarProvider, useSidebar } from "./layout/sidebar/sidebar-context";
60
- export * from "./layout/sidebar/sidebar-menu";
61
- export * from "./layout/sidebar/sidebar-menu-sub";
62
- export * from "./layout/sidebar/sidebar-sections";
63
- export * from "./layout/tabs";
64
- export * from "./layout/use-mobile";
65
- export * from "./navigation/breadcrumb";
66
- export * from "./navigation/menubar/menubar";
67
- export * from "./navigation/menubar/menubar-items";
68
- export * from "./navigation/menubar/menubar-sub";
69
- export * from "./navigation/navigation-menu";
70
- export * from "./navigation/pagination";
71
- export * from "./overlay/alert-dialog";
72
- export * from "./overlay/context-menu/context-menu";
73
- export * from "./overlay/context-menu/context-menu-items";
74
- export * from "./overlay/context-menu/context-menu-sub";
75
- export * from "./overlay/dialog";
76
- export * from "./overlay/floating/command";
77
- export * from "./overlay/floating/drawer";
78
- export * from "./overlay/floating/hover-card";
79
- export * from "./overlay/menu/dropdown-menu";
80
- export * from "./overlay/menu/dropdown-menu-choice";
81
- export * from "./overlay/menu/dropdown-menu-item";
82
- export * from "./overlay/menu/dropdown-menu-sub";
83
- export * from "./overlay/popover";
84
- export * from "./overlay/sheet";
85
- export * from "./overlay/tooltip";
86
- export * from "./shell/app-header";
87
- export * from "./shell/app-shell";
88
- export * from "./shell/breadcrumbs";
89
- export * from "./shell/docs/docs-header";
90
- export * from "./shell/docs/docs-shell";
91
- export * from "./shell/docs/docs-sidebar";
92
- export * from "./shell/docs/on-this-page";
93
- export * from "./shell/link";
94
- export * from "./shell/navigation/app-sidebar";
95
- export * from "./shell/theme-toggle";
2
+ export * from "./action/button.js";
3
+ export * from "./action/button-group.js";
4
+ export * from "./action/toggle.js";
5
+ export * from "./action/toggle-group.js";
6
+ export * from "./display/avatar.js";
7
+ export * from "./display/badge.js";
8
+ export * from "./display/chart/chart-container.js";
9
+ export * from "./display/chart/chart-legend.js";
10
+ export * from "./display/chart/chart-tooltip.js";
11
+ export * from "./display/chat/attachment/attachment.js";
12
+ export * from "./display/chat/attachment/attachment-parts.js";
13
+ export * from "./display/chat/bubble.js";
14
+ export * from "./display/chat/marker.js";
15
+ export * from "./display/chat/message.js";
16
+ export * from "./display/chat/message-scroller.js";
17
+ export * from "./display/content/item.js";
18
+ export * from "./display/content/kbd.js";
19
+ export * from "./display/media/aspect-ratio.js";
20
+ export * from "./display/media/carousel.js";
21
+ export * from "./display/media/carousel-controls.js";
22
+ export * from "./display/rule-grid/rule-grid.js";
23
+ export * from "./display/separator.js";
24
+ export * from "./display/status/alert.js";
25
+ export * from "./display/status/empty.js";
26
+ export * from "./display/status/progress.js";
27
+ export * from "./display/status/skeleton.js";
28
+ export * from "./display/status/spinner.js";
29
+ export * from "./display/table.js";
30
+ export * from "./feedback/toaster.js";
31
+ export * from "./form/advanced/calendar.js";
32
+ export * from "./form/advanced/calendar-day-button.js";
33
+ export * from "./form/advanced/combobox/combobox.js";
34
+ export * from "./form/advanced/combobox/combobox-chips.js";
35
+ export * from "./form/advanced/combobox/combobox-items.js";
36
+ export * from "./form/advanced/input-otp.js";
37
+ export * from "./form/choice/checkbox.js";
38
+ export * from "./form/choice/radio-group.js";
39
+ export * from "./form/choice/select.js";
40
+ export * from "./form/choice/slider.js";
41
+ export * from "./form/choice/switch.js";
42
+ export * from "./form/field/field.js";
43
+ export * from "./form/field/field-error.js";
44
+ export * from "./form/field/field-separator.js";
45
+ export * from "./form/field/field-set.js";
46
+ export * from "./form/field/field-text.js";
47
+ export * from "./form/hook-form/form.js";
48
+ export * from "./form/input.js";
49
+ export * from "./form/input-group.js";
50
+ export * from "./form/label.js";
51
+ export * from "./form/native-select.js";
52
+ export * from "./form/textarea.js";
53
+ export * from "./layout/accordion.js";
54
+ export * from "./layout/collapsible.js";
55
+ export * from "./layout/resizable.js";
56
+ export * from "./layout/scroll/direction.js";
57
+ export * from "./layout/scroll/scroll-area.js";
58
+ export * from "./layout/sidebar/sidebar.js";
59
+ export { SidebarProvider, useSidebar } from "./layout/sidebar/sidebar-context.js";
60
+ export * from "./layout/sidebar/sidebar-menu.js";
61
+ export * from "./layout/sidebar/sidebar-menu-sub.js";
62
+ export * from "./layout/sidebar/sidebar-sections.js";
63
+ export * from "./layout/tabs.js";
64
+ export * from "./layout/use-mobile.js";
65
+ export * from "./navigation/breadcrumb.js";
66
+ export * from "./navigation/menubar/menubar.js";
67
+ export * from "./navigation/menubar/menubar-items.js";
68
+ export * from "./navigation/menubar/menubar-sub.js";
69
+ export * from "./navigation/navigation-menu.js";
70
+ export * from "./navigation/pagination.js";
71
+ export * from "./overlay/alert-dialog.js";
72
+ export * from "./overlay/context-menu/context-menu.js";
73
+ export * from "./overlay/context-menu/context-menu-items.js";
74
+ export * from "./overlay/context-menu/context-menu-sub.js";
75
+ export * from "./overlay/dialog.js";
76
+ export * from "./overlay/floating/command.js";
77
+ export * from "./overlay/floating/drawer.js";
78
+ export * from "./overlay/floating/hover-card.js";
79
+ export * from "./overlay/menu/dropdown-menu.js";
80
+ export * from "./overlay/menu/dropdown-menu-choice.js";
81
+ export * from "./overlay/menu/dropdown-menu-item.js";
82
+ export * from "./overlay/menu/dropdown-menu-sub.js";
83
+ export * from "./overlay/popover.js";
84
+ export * from "./overlay/sheet.js";
85
+ export * from "./overlay/tooltip.js";
86
+ export * from "./shell/app-header.js";
87
+ export * from "./shell/app-shell.js";
88
+ export * from "./shell/breadcrumbs.js";
89
+ export * from "./shell/docs/docs-header.js";
90
+ export * from "./shell/docs/docs-shell.js";
91
+ export * from "./shell/docs/docs-sidebar.js";
92
+ export * from "./shell/docs/on-this-page.js";
93
+ export * from "./shell/link.js";
94
+ export * from "./shell/navigation/app-sidebar.js";
95
+ export * from "./shell/theme-toggle.js";
@@ -2,8 +2,8 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as React from "react";
5
- import { TooltipProvider } from "../../overlay/tooltip";
6
- import { useIsMobile } from "../use-mobile";
5
+ import { TooltipProvider } from "../../overlay/tooltip.js";
6
+ import { useIsMobile } from "../use-mobile.js";
7
7
  const SIDEBAR_COOKIE_NAME = "sidebar_state";
8
8
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
9
9
  const SIDEBAR_WIDTH = "15rem";
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as Slot from "radix-ui/slot";
5
5
  import * as React from "react";
6
- import { Skeleton } from "../../display/status/skeleton";
6
+ import { Skeleton } from "../../display/status/skeleton.js";
7
7
  function randomSkeletonWidth() {
8
8
  return `${Math.floor(Math.random() * 40) + 50}%`;
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
2
  import type * as React from "react";
3
- import { TooltipContent } from "../../overlay/tooltip";
3
+ import { TooltipContent } from "../../overlay/tooltip.js";
4
4
  declare function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
5
5
  declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
6
6
  declare const sidebarMenuButtonVariants: (props?: ({
@@ -3,8 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { cn } from "cn";
5
5
  import * as Slot from "radix-ui/slot";
6
- import { Tooltip, TooltipContent, TooltipTrigger } from "../../overlay/tooltip";
7
- import { sidebarMobileHitArea, useSidebar } from "./sidebar-context";
6
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../../overlay/tooltip.js";
7
+ import { sidebarMobileHitArea, useSidebar } from "./sidebar-context.js";
8
8
  function SidebarMenu({ className, ...props }) {
9
9
  return (_jsx("ul", { "data-slot": "sidebar-menu", "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
10
10
  }
@@ -1,6 +1,6 @@
1
1
  import type * as React from "react";
2
- import { Separator } from "../../display/separator";
3
- import { Input } from "../../form/input";
2
+ import { Separator } from "../../display/separator.js";
3
+ import { Input } from "../../form/input.js";
4
4
  declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): React.JSX.Element;
5
5
  declare function SidebarHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
6
6
  declare function SidebarFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as Slot from "radix-ui/slot";
5
- import { Separator } from "../../display/separator";
6
- import { Input } from "../../form/input";
7
- import { sidebarMobileHitArea } from "./sidebar-context";
5
+ import { Separator } from "../../display/separator.js";
6
+ import { Input } from "../../form/input.js";
7
+ import { sidebarMobileHitArea } from "./sidebar-context.js";
8
8
  function SidebarInput({ className, ...props }) {
9
9
  return (_jsx(Input, { "data-slot": "sidebar-input", "data-sidebar": "input", className: cn("h-8 w-full bg-background shadow-none", className), ...props }));
10
10
  }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import { Button } from "../../action/button";
2
+ import { Button } from "../../action/button.js";
3
3
  declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React.ComponentProps<"div"> & {
4
4
  side?: "left" | "right";
5
5
  variant?: "sidebar" | "floating" | "inset";
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import { PanelLeftIcon } from "lucide-react";
5
- import { Button } from "../../action/button";
6
- import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, } from "../../overlay/sheet";
7
- import { SIDEBAR_WIDTH_MOBILE, useSidebar } from "./sidebar-context";
5
+ import { Button } from "../../action/button.js";
6
+ import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, } from "../../overlay/sheet.js";
7
+ import { SIDEBAR_WIDTH_MOBILE, useSidebar } from "./sidebar-context.js";
8
8
  function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }) {
9
9
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
10
10
  if (collapsible === "none") {
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { type Button } from "../action/button";
2
+ import { type Button } from "../action/button.js";
3
3
  declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
4
4
  declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
5
5
  declare function PaginationItem({ ...props }: React.ComponentProps<"li">): React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
3
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
4
- import { buttonVariants } from "../action/button";
4
+ import { buttonVariants } from "../action/button.js";
5
5
  function Pagination({ className, ...props }) {
6
6
  return (_jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as AlertDialogPrimitive from "radix-ui/alert-dialog";
2
2
  import * as React from "react";
3
- import { Button } from "../action/button";
3
+ import { Button } from "../action/button.js";
4
4
  declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>): React.JSX.Element;
5
5
  declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): React.JSX.Element;
6
6
  declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): React.JSX.Element;
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
4
  import * as AlertDialogPrimitive from "radix-ui/alert-dialog";
5
- import { Button } from "../action/button";
5
+ import { Button } from "../action/button.js";
6
6
  function AlertDialog({ ...props }) {
7
7
  return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import { Command as CommandPrimitive } from "cmdk";
2
2
  import * as React from "react";
3
- import { Dialog } from "../dialog";
3
+ import { Dialog } from "../dialog.js";
4
4
  declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): React.JSX.Element;
5
5
  declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
6
6
  title?: string;
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Command as CommandPrimitive } from "cmdk";
4
4
  import { cn } from "cn";
5
5
  import { SearchIcon } from "lucide-react";
6
- import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "../dialog";
6
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "../dialog.js";
7
7
  function Command({ className, ...props }) {
8
8
  return (_jsx(CommandPrimitive, { "data-slot": "command", className: cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground", className), ...props }));
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Separator } from "../display/separator";
3
- import { SidebarTrigger } from "../layout/sidebar/sidebar";
2
+ import { Separator } from "../display/separator.js";
3
+ import { SidebarTrigger } from "../layout/sidebar/sidebar.js";
4
4
  function AppHeader({ breadcrumbs, children }) {
5
5
  return (_jsxs("header", { "data-slot": "app-header", className: "flex h-14 shrink-0 items-center gap-3 border-b border-line bg-background px-4", children: [_jsx(SidebarTrigger, { className: "-ml-1" }), _jsx(Separator, { orientation: "vertical", className: "h-4" }), breadcrumbs, _jsx("div", { className: "ml-auto flex shrink-0 items-center gap-2", children: children })] }));
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
- import { SidebarInset } from "../layout/sidebar/sidebar";
4
- import { SidebarProvider } from "../layout/sidebar/sidebar-context";
3
+ import { SidebarInset } from "../layout/sidebar/sidebar.js";
4
+ import { SidebarProvider } from "../layout/sidebar/sidebar-context.js";
5
5
  function AppShell({ sidebar, header, children, defaultOpen, bodyClassName }) {
6
6
  return (_jsxs(SidebarProvider, { defaultOpen: defaultOpen, children: [sidebar, _jsxs(SidebarInset, { className: "h-svh overflow-hidden", children: [header, _jsx("div", { "data-slot": "app-shell-body", className: cn("no-scrollbar flex w-full flex-1 flex-col overflow-y-auto px-6 pt-7 pb-8 lg:px-8", bodyClassName), children: children })] })] }));
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import type { LinkComponent } from "./link";
2
+ import type { LinkComponent } from "./link.js";
3
3
  type Crumb = {
4
4
  label: React.ReactNode;
5
5
  href?: string;
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import type { LinkComponent } from "../link";
2
+ import type { LinkComponent } from "../link.js";
3
3
  type DocsBrand = {
4
4
  name: string;
5
5
  product?: string;
@@ -3,8 +3,8 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
3
3
  import { cn } from "cn";
4
4
  import { MenuIcon } from "lucide-react";
5
5
  import { useState } from "react";
6
- import { Button } from "../../action/button";
7
- import { Sheet, SheetContent, SheetTitle } from "../../overlay/sheet";
6
+ import { Button } from "../../action/button.js";
7
+ import { Sheet, SheetContent, SheetTitle } from "../../overlay/sheet.js";
8
8
  function MobileNavSheet({ children }) {
9
9
  const [open, setOpen] = useState(false);
10
10
  const closeOnLinkClick = (event) => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "cn";
3
- import { TooltipProvider } from "../../overlay/tooltip";
3
+ import { TooltipProvider } from "../../overlay/tooltip.js";
4
4
  function DocsShell({ header, sidebar, aside, children }) {
5
5
  return (_jsx(TooltipProvider, { delayDuration: 0, children: _jsxs("div", { "data-slot": "docs-shell", className: "flex min-h-svh flex-col bg-background [--docs-header-height:3.5rem] lg:[--docs-header-height:4rem]", children: [header, _jsxs("div", { className: cn("mx-auto w-full max-w-[1536px] flex-1 items-start px-2", sidebar && "lg:grid lg:grid-cols-[18rem_minmax(0,1fr)]"), children: [sidebar && (_jsx("aside", { "data-slot": "docs-sidebar", className: "sticky top-[calc(var(--docs-header-height)+0.6rem)] hidden h-[calc(100svh-10rem)] lg:block", children: sidebar })), _jsxs("div", { className: "flex min-w-0 items-stretch", children: [_jsx("main", { "data-slot": "docs-body", className: "min-w-0 flex-1 px-4 pt-6 pb-16 md:px-6 lg:pt-10", children: children }), aside && (_jsx("aside", { "data-slot": "docs-aside", className: "sticky top-[calc(var(--docs-header-height)+1px)] hidden h-[90svh] w-72 shrink-0 flex-col gap-8 overflow-hidden pt-10 xl:flex", children: _jsx("div", { className: "no-scrollbar flex flex-col gap-8 overflow-y-auto px-8", children: aside }) }))] })] })] }) }));
6
6
  }
@@ -1,4 +1,4 @@
1
- import type { LinkComponent } from "../link";
1
+ import type { LinkComponent } from "../link.js";
2
2
  type DocsNavItem = {
3
3
  title: string;
4
4
  href: string;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "cn";
4
- import { useActiveSection } from "./use-active-section";
4
+ import { useActiveSection } from "./use-active-section.js";
5
5
  function OnThisPage({ sections, title = "On This Page" }) {
6
6
  const [activeId, pinSection] = useActiveSection(sections.map((section) => section.id));
7
7
  return (_jsxs("nav", { "aria-label": title, className: "flex flex-col gap-2 text-sm", children: [_jsx("p", { className: "h-6 text-xs font-medium text-muted-foreground", children: title }), sections.map((section) => (_jsx("button", { type: "button", onClick: () => {
@@ -1,6 +1,6 @@
1
1
  import type * as React from "react";
2
- import type { LinkComponent } from "../link";
3
- import { type AppNavGroup, type AppNavItem } from "./nav-group";
2
+ import type { LinkComponent } from "../link.js";
3
+ import { type AppNavGroup, type AppNavItem } from "./nav-group.js";
4
4
  type AppBrand = {
5
5
  title: React.ReactNode;
6
6
  subtitle?: string;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Sidebar, SidebarRail } from "../../layout/sidebar/sidebar";
3
- import { SidebarMenu, SidebarMenuButton, SidebarMenuItem } from "../../layout/sidebar/sidebar-menu";
4
- import { SidebarContent, SidebarFooter, SidebarHeader, } from "../../layout/sidebar/sidebar-sections";
5
- import { NavGroup } from "./nav-group";
2
+ import { Sidebar, SidebarRail } from "../../layout/sidebar/sidebar.js";
3
+ import { SidebarMenu, SidebarMenuButton, SidebarMenuItem } from "../../layout/sidebar/sidebar-menu.js";
4
+ import { SidebarContent, SidebarFooter, SidebarHeader, } from "../../layout/sidebar/sidebar-sections.js";
5
+ import { NavGroup } from "./nav-group.js";
6
6
  function BrandLink({ brand, Link }) {
7
7
  return (_jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsx(SidebarMenuButton, { size: "lg", asChild: true, children: _jsxs(Link, { href: brand.href, children: [_jsx("span", { "data-slot": "app-brand-icon", className: "flex aspect-square size-8 shrink-0 items-center justify-center rounded-lg border border-line bg-ghost", children: brand.icon }), _jsxs("span", { className: "grid flex-1 text-left leading-tight", children: [_jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: brand.title }), brand.subtitle && (_jsx("span", { className: "truncate text-xs text-soft", children: brand.subtitle }))] })] }) }) }) }));
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import type { LinkComponent } from "../link";
2
+ import type { LinkComponent } from "../link.js";
3
3
  type AppNavItem = {
4
4
  title: string;
5
5
  href: string;
@@ -1,6 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SidebarMenu, SidebarMenuButton, SidebarMenuItem } from "../../layout/sidebar/sidebar-menu";
3
- import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, } from "../../layout/sidebar/sidebar-sections";
2
+ import { SidebarMenu, SidebarMenuButton, SidebarMenuItem } from "../../layout/sidebar/sidebar-menu.js";
3
+ import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, } from "../../layout/sidebar/sidebar-sections.js";
4
4
  function isActiveHref(itemHref, activeHref) {
5
5
  return activeHref === itemHref || activeHref.startsWith(`${itemHref}/`);
6
6
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { MoonIcon, SunIcon } from "lucide-react";
4
- import { Button } from "../action/button";
4
+ import { Button } from "../action/button.js";
5
5
  function ThemeToggle({ theme, onThemeChange }) {
6
6
  const nextTheme = theme === "dark" ? "light" : "dark";
7
7
  return (_jsxs(Button, { variant: "ghost", size: "icon-sm", "aria-label": `Switch to ${nextTheme} theme`, onClick: () => onThemeChange(nextTheme), children: [_jsx(SunIcon, { className: "scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }), _jsx(MoonIcon, { className: "absolute scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" })] }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locusgraph/components",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Radix and shadcn based React components, shells and theme for LocusGraph apps.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@base-ui/react": "^1.9.0",
36
- "@locusgraph/tokens": "0.1.0",
36
+ "@locusgraph/tokens": "0.1.1",
37
37
  "@shadcn/react": "^0.3.1",
38
38
  "class-variance-authority": "^0.7.1",
39
39
  "cmdk": "^1.1.1",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "homepage": "https://design.locusgraph.com",
63
63
  "scripts": {
64
- "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -R src/styles dist/styles",
64
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -R src/styles dist/styles && node ../../scripts/esm-extensions.mjs dist",
65
65
  "typecheck": "tsc -p tsconfig.json --noEmit",
66
66
  "test": "vitest run"
67
67
  }