react-shadcn-kit 0.0.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 (123) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +113 -0
  3. package/dist/assets/global.css +1 -0
  4. package/dist/atoms/accordion.d.ts +7 -0
  5. package/dist/atoms/accordion.js +62 -0
  6. package/dist/atoms/alert-dialog.d.ts +14 -0
  7. package/dist/atoms/alert-dialog.js +127 -0
  8. package/dist/atoms/alert.d.ts +9 -0
  9. package/dist/atoms/alert.js +60 -0
  10. package/dist/atoms/aspect-ratio.d.ts +3 -0
  11. package/dist/atoms/aspect-ratio.js +8 -0
  12. package/dist/atoms/avatar.d.ts +6 -0
  13. package/dist/atoms/avatar.js +41 -0
  14. package/dist/atoms/badge.d.ts +9 -0
  15. package/dist/atoms/badge.js +32 -0
  16. package/dist/atoms/breadcrumb.d.ts +11 -0
  17. package/dist/atoms/breadcrumb.js +95 -0
  18. package/dist/atoms/button-group.d.ts +11 -0
  19. package/dist/atoms/button-group.js +75 -0
  20. package/dist/atoms/button.d.ts +10 -0
  21. package/dist/atoms/button.js +51 -0
  22. package/dist/atoms/calendar.d.ts +8 -0
  23. package/dist/atoms/calendar.js +144 -0
  24. package/dist/atoms/card.d.ts +9 -0
  25. package/dist/atoms/card.js +80 -0
  26. package/dist/atoms/carousel.d.ts +19 -0
  27. package/dist/atoms/carousel.js +165 -0
  28. package/dist/atoms/chart.d.ts +43 -0
  29. package/dist/atoms/chart.js +203 -0
  30. package/dist/atoms/checkbox.d.ts +4 -0
  31. package/dist/atoms/checkbox.js +28 -0
  32. package/dist/atoms/collapsible.d.ts +5 -0
  33. package/dist/atoms/collapsible.js +20 -0
  34. package/dist/atoms/command.d.ts +18 -0
  35. package/dist/atoms/command.js +143 -0
  36. package/dist/atoms/context-menu.d.ts +25 -0
  37. package/dist/atoms/context-menu.js +200 -0
  38. package/dist/atoms/dialog.d.ts +15 -0
  39. package/dist/atoms/dialog.js +122 -0
  40. package/dist/atoms/drawer.d.ts +13 -0
  41. package/dist/atoms/drawer.js +117 -0
  42. package/dist/atoms/dropdown-menu.d.ts +25 -0
  43. package/dist/atoms/dropdown-menu.js +204 -0
  44. package/dist/atoms/empty.d.ts +11 -0
  45. package/dist/atoms/empty.js +99 -0
  46. package/dist/atoms/field.d.ts +24 -0
  47. package/dist/atoms/field.js +208 -0
  48. package/dist/atoms/form.d.ts +24 -0
  49. package/dist/atoms/form.js +87 -0
  50. package/dist/atoms/hover-card.d.ts +6 -0
  51. package/dist/atoms/hover-card.js +34 -0
  52. package/dist/atoms/input-group.d.ts +16 -0
  53. package/dist/atoms/input-group.js +142 -0
  54. package/dist/atoms/input-otp.d.ts +11 -0
  55. package/dist/atoms/input-otp.js +55 -0
  56. package/dist/atoms/input.d.ts +3 -0
  57. package/dist/atoms/input.js +21 -0
  58. package/dist/atoms/item.d.ts +23 -0
  59. package/dist/atoms/item.js +164 -0
  60. package/dist/atoms/kbd.d.ts +3 -0
  61. package/dist/atoms/kbd.js +31 -0
  62. package/dist/atoms/label.d.ts +4 -0
  63. package/dist/atoms/label.js +19 -0
  64. package/dist/atoms/menubar.d.ts +26 -0
  65. package/dist/atoms/menubar.js +229 -0
  66. package/dist/atoms/navigation-menu.d.ts +14 -0
  67. package/dist/atoms/navigation-menu.js +159 -0
  68. package/dist/atoms/pagination.d.ts +13 -0
  69. package/dist/atoms/pagination.js +100 -0
  70. package/dist/atoms/popover.d.ts +7 -0
  71. package/dist/atoms/popover.js +38 -0
  72. package/dist/atoms/progress.d.ts +4 -0
  73. package/dist/atoms/progress.js +28 -0
  74. package/dist/atoms/radio-group.d.ts +5 -0
  75. package/dist/atoms/radio-group.js +45 -0
  76. package/dist/atoms/resizable.d.ts +8 -0
  77. package/dist/atoms/resizable.js +43 -0
  78. package/dist/atoms/scroll-area.d.ts +5 -0
  79. package/dist/atoms/scroll-area.js +60 -0
  80. package/dist/atoms/select.d.ts +15 -0
  81. package/dist/atoms/select.js +156 -0
  82. package/dist/atoms/separator.d.ts +4 -0
  83. package/dist/atoms/separator.js +26 -0
  84. package/dist/atoms/sheet.d.ts +13 -0
  85. package/dist/atoms/sheet.js +117 -0
  86. package/dist/atoms/sidebar.d.ts +69 -0
  87. package/dist/atoms/sidebar.js +570 -0
  88. package/dist/atoms/skeleton.d.ts +2 -0
  89. package/dist/atoms/skeleton.js +15 -0
  90. package/dist/atoms/slider.d.ts +4 -0
  91. package/dist/atoms/slider.js +63 -0
  92. package/dist/atoms/sonner.d.ts +3 -0
  93. package/dist/atoms/sonner.js +31 -0
  94. package/dist/atoms/spinner.d.ts +2 -0
  95. package/dist/atoms/spinner.js +17 -0
  96. package/dist/atoms/switch.d.ts +4 -0
  97. package/dist/atoms/switch.js +28 -0
  98. package/dist/atoms/table.d.ts +10 -0
  99. package/dist/atoms/table.js +94 -0
  100. package/dist/atoms/tabs.d.ts +7 -0
  101. package/dist/atoms/tabs.js +55 -0
  102. package/dist/atoms/textarea.d.ts +3 -0
  103. package/dist/atoms/textarea.js +18 -0
  104. package/dist/atoms/toggle-group.d.ts +9 -0
  105. package/dist/atoms/toggle-group.js +68 -0
  106. package/dist/atoms/toggle.d.ts +9 -0
  107. package/dist/atoms/toggle.js +43 -0
  108. package/dist/atoms/tooltip.d.ts +7 -0
  109. package/dist/atoms/tooltip.js +51 -0
  110. package/dist/config/default-navigation.js +136 -0
  111. package/dist/hooks/use-mobile.d.ts +1 -0
  112. package/dist/hooks/use-mobile.js +14 -0
  113. package/dist/index.d.ts +57 -0
  114. package/dist/index.js +347 -0
  115. package/dist/lib/utils.d.ts +2 -0
  116. package/dist/lib/utils.js +8 -0
  117. package/dist/molecules/app-navbar.d.ts +11 -0
  118. package/dist/molecules/app-navbar.js +117 -0
  119. package/dist/molecules/app-sidebar.d.ts +9 -0
  120. package/dist/molecules/app-sidebar.js +121 -0
  121. package/dist/organisms/layout.d.ts +3 -0
  122. package/dist/organisms/layout.js +16 -0
  123. package/package.json +120 -0
@@ -0,0 +1,17 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { Loader2Icon as i } from "lucide-react";
3
+ import { cn as n } from "../lib/utils.js";
4
+ function s({ className: r, ...o }) {
5
+ return /* @__PURE__ */ a(
6
+ i,
7
+ {
8
+ role: "status",
9
+ "aria-label": "Loading",
10
+ className: n("size-4 animate-spin", r),
11
+ ...o
12
+ }
13
+ );
14
+ }
15
+ export {
16
+ s as Spinner
17
+ };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import * as SwitchPrimitive from "@radix-ui/react-switch";
3
+ declare function Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Switch };
@@ -0,0 +1,28 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import * as t from "@radix-ui/react-switch";
3
+ import { cn as a } from "../lib/utils.js";
4
+ function s({ className: r, ...n }) {
5
+ return /* @__PURE__ */ e(
6
+ t.Root,
7
+ {
8
+ "data-slot": "switch",
9
+ className: a(
10
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
11
+ r
12
+ ),
13
+ ...n,
14
+ children: /* @__PURE__ */ e(
15
+ t.Thumb,
16
+ {
17
+ "data-slot": "switch-thumb",
18
+ className: a(
19
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
20
+ )
21
+ }
22
+ )
23
+ }
24
+ );
25
+ }
26
+ export {
27
+ s as Switch
28
+ };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ declare function Table({ className, ...props }: React.ComponentProps<"table">): import("react/jsx-runtime").JSX.Element;
3
+ declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): import("react/jsx-runtime").JSX.Element;
4
+ declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): import("react/jsx-runtime").JSX.Element;
5
+ declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): import("react/jsx-runtime").JSX.Element;
6
+ declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): import("react/jsx-runtime").JSX.Element;
7
+ declare function TableHead({ className, ...props }: React.ComponentProps<"th">): import("react/jsx-runtime").JSX.Element;
8
+ declare function TableCell({ className, ...props }: React.ComponentProps<"td">): import("react/jsx-runtime").JSX.Element;
9
+ declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): import("react/jsx-runtime").JSX.Element;
10
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };
@@ -0,0 +1,94 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as o } from "../lib/utils.js";
3
+ function n({ className: t, ...e }) {
4
+ return /* @__PURE__ */ a("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ a(
5
+ "table",
6
+ {
7
+ "data-slot": "table",
8
+ className: o("w-full caption-bottom text-sm", t),
9
+ ...e
10
+ }
11
+ ) });
12
+ }
13
+ function s({ className: t, ...e }) {
14
+ return /* @__PURE__ */ a("thead", { "data-slot": "table-header", className: o("[&_tr]:border-b", t), ...e });
15
+ }
16
+ function d({ className: t, ...e }) {
17
+ return /* @__PURE__ */ a(
18
+ "tbody",
19
+ {
20
+ "data-slot": "table-body",
21
+ className: o("[&_tr:last-child]:border-0", t),
22
+ ...e
23
+ }
24
+ );
25
+ }
26
+ function c({ className: t, ...e }) {
27
+ return /* @__PURE__ */ a(
28
+ "tfoot",
29
+ {
30
+ "data-slot": "table-footer",
31
+ className: o("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", t),
32
+ ...e
33
+ }
34
+ );
35
+ }
36
+ function b({ className: t, ...e }) {
37
+ return /* @__PURE__ */ a(
38
+ "tr",
39
+ {
40
+ "data-slot": "table-row",
41
+ className: o(
42
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
43
+ t
44
+ ),
45
+ ...e
46
+ }
47
+ );
48
+ }
49
+ function i({ className: t, ...e }) {
50
+ return /* @__PURE__ */ a(
51
+ "th",
52
+ {
53
+ "data-slot": "table-head",
54
+ className: o(
55
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
56
+ t
57
+ ),
58
+ ...e
59
+ }
60
+ );
61
+ }
62
+ function m({ className: t, ...e }) {
63
+ return /* @__PURE__ */ a(
64
+ "td",
65
+ {
66
+ "data-slot": "table-cell",
67
+ className: o(
68
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
69
+ t
70
+ ),
71
+ ...e
72
+ }
73
+ );
74
+ }
75
+ function u({ className: t, ...e }) {
76
+ return /* @__PURE__ */ a(
77
+ "caption",
78
+ {
79
+ "data-slot": "table-caption",
80
+ className: o("text-muted-foreground mt-4 text-sm", t),
81
+ ...e
82
+ }
83
+ );
84
+ }
85
+ export {
86
+ n as Table,
87
+ d as TableBody,
88
+ u as TableCaption,
89
+ m as TableCell,
90
+ c as TableFooter,
91
+ i as TableHead,
92
+ s as TableHeader,
93
+ b as TableRow
94
+ };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -0,0 +1,55 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import * as s from "@radix-ui/react-tabs";
3
+ import { cn as i } from "../lib/utils.js";
4
+ function o({ className: t, ...e }) {
5
+ return /* @__PURE__ */ a(
6
+ s.Root,
7
+ {
8
+ "data-slot": "tabs",
9
+ className: i("flex flex-col gap-2", t),
10
+ ...e
11
+ }
12
+ );
13
+ }
14
+ function d({ className: t, ...e }) {
15
+ return /* @__PURE__ */ a(
16
+ s.List,
17
+ {
18
+ "data-slot": "tabs-list",
19
+ className: i(
20
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
21
+ t
22
+ ),
23
+ ...e
24
+ }
25
+ );
26
+ }
27
+ function c({ className: t, ...e }) {
28
+ return /* @__PURE__ */ a(
29
+ s.Trigger,
30
+ {
31
+ "data-slot": "tabs-trigger",
32
+ className: i(
33
+ "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
34
+ t
35
+ ),
36
+ ...e
37
+ }
38
+ );
39
+ }
40
+ function l({ className: t, ...e }) {
41
+ return /* @__PURE__ */ a(
42
+ s.Content,
43
+ {
44
+ "data-slot": "tabs-content",
45
+ className: i("flex-1 outline-none", t),
46
+ ...e
47
+ }
48
+ );
49
+ }
50
+ export {
51
+ o as Tabs,
52
+ l as TabsContent,
53
+ d as TabsList,
54
+ c as TabsTrigger
55
+ };
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
3
+ export { Textarea };
@@ -0,0 +1,18 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { cn as t } from "../lib/utils.js";
3
+ function n({ className: r, ...e }) {
4
+ return /* @__PURE__ */ i(
5
+ "textarea",
6
+ {
7
+ "data-slot": "textarea",
8
+ className: t(
9
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
10
+ r
11
+ ),
12
+ ...e
13
+ }
14
+ );
15
+ }
16
+ export {
17
+ n as Textarea
18
+ };
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { toggleVariants } from './toggle';
3
+ import * as React from "react";
4
+ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
+ declare function ToggleGroup({ className, variant, size, spacing, children, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants> & {
6
+ spacing?: number;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ declare function ToggleGroupItem({ className, children, variant, size, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
9
+ export { ToggleGroup, ToggleGroupItem };
@@ -0,0 +1,68 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import * as d from "@radix-ui/react-toggle-group";
4
+ import { cn as g } from "../lib/utils.js";
5
+ import { toggleVariants as l } from "./toggle.js";
6
+ const p = s.createContext({
7
+ size: "default",
8
+ variant: "default",
9
+ spacing: 0
10
+ });
11
+ function f({
12
+ className: r,
13
+ variant: e,
14
+ size: o,
15
+ spacing: t = 0,
16
+ children: i,
17
+ ...a
18
+ }) {
19
+ return /* @__PURE__ */ n(
20
+ d.Root,
21
+ {
22
+ "data-slot": "toggle-group",
23
+ "data-variant": e,
24
+ "data-size": o,
25
+ "data-spacing": t,
26
+ style: { "--gap": t },
27
+ className: g(
28
+ "group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs",
29
+ r
30
+ ),
31
+ ...a,
32
+ children: /* @__PURE__ */ n(p.Provider, { value: { variant: e, size: o, spacing: t }, children: i })
33
+ }
34
+ );
35
+ }
36
+ function v({
37
+ className: r,
38
+ children: e,
39
+ variant: o,
40
+ size: t,
41
+ ...i
42
+ }) {
43
+ const a = s.useContext(p);
44
+ return /* @__PURE__ */ n(
45
+ d.Item,
46
+ {
47
+ "data-slot": "toggle-group-item",
48
+ "data-variant": a.variant || o,
49
+ "data-size": a.size || t,
50
+ "data-spacing": a.spacing,
51
+ className: g(
52
+ l({
53
+ variant: a.variant || o,
54
+ size: a.size || t
55
+ }),
56
+ "w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10",
57
+ "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l",
58
+ r
59
+ ),
60
+ ...i,
61
+ children: e
62
+ }
63
+ );
64
+ }
65
+ export {
66
+ f as ToggleGroup,
67
+ v as ToggleGroupItem
68
+ };
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ import * as TogglePrimitive from "@radix-ui/react-toggle";
4
+ declare const toggleVariants: (props?: ({
5
+ variant?: "default" | "outline" | null | undefined;
6
+ size?: "default" | "sm" | "lg" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ declare function Toggle({ className, variant, size, ...props }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
9
+ export { Toggle, toggleVariants };
@@ -0,0 +1,43 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-toggle";
3
+ import { cva as o } from "class-variance-authority";
4
+ import { cn as s } from "../lib/utils.js";
5
+ const d = o(
6
+ "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-transparent",
11
+ outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
12
+ },
13
+ size: {
14
+ default: "h-9 px-2 min-w-9",
15
+ sm: "h-8 px-1.5 min-w-8",
16
+ lg: "h-10 px-2.5 min-w-10"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ size: "default"
22
+ }
23
+ }
24
+ );
25
+ function u({
26
+ className: e,
27
+ variant: t,
28
+ size: i,
29
+ ...r
30
+ }) {
31
+ return /* @__PURE__ */ n(
32
+ a.Root,
33
+ {
34
+ "data-slot": "toggle",
35
+ className: s(d({ variant: t, size: i, className: e })),
36
+ ...r
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ u as Toggle,
42
+ d as toggleVariants
43
+ };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
4
+ declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1,51 @@
1
+ import { jsx as i, jsxs as n } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-tooltip";
3
+ import { cn as d } from "../lib/utils.js";
4
+ function l({
5
+ delayDuration: t = 0,
6
+ ...r
7
+ }) {
8
+ return /* @__PURE__ */ i(
9
+ o.Provider,
10
+ {
11
+ "data-slot": "tooltip-provider",
12
+ delayDuration: t,
13
+ ...r
14
+ }
15
+ );
16
+ }
17
+ function m({ ...t }) {
18
+ return /* @__PURE__ */ i(l, { children: /* @__PURE__ */ i(o.Root, { "data-slot": "tooltip", ...t }) });
19
+ }
20
+ function p({ ...t }) {
21
+ return /* @__PURE__ */ i(o.Trigger, { "data-slot": "tooltip-trigger", ...t });
22
+ }
23
+ function c({
24
+ className: t,
25
+ sideOffset: r = 0,
26
+ children: e,
27
+ ...a
28
+ }) {
29
+ return /* @__PURE__ */ i(o.Portal, { children: /* @__PURE__ */ n(
30
+ o.Content,
31
+ {
32
+ "data-slot": "tooltip-content",
33
+ sideOffset: r,
34
+ className: d(
35
+ "bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
36
+ t
37
+ ),
38
+ ...a,
39
+ children: [
40
+ e,
41
+ /* @__PURE__ */ i(o.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
42
+ ]
43
+ }
44
+ ) });
45
+ }
46
+ export {
47
+ m as Tooltip,
48
+ c as TooltipContent,
49
+ l as TooltipProvider,
50
+ p as TooltipTrigger
51
+ };
@@ -0,0 +1,136 @@
1
+ import { Users as e, Settings as t, LayoutDashboard as a, BarChart as o, Folder as l } from "lucide-react";
2
+ const r = {
3
+ groups: [
4
+ {
5
+ label: "Platform",
6
+ items: [
7
+ {
8
+ label: "Dashboard",
9
+ href: "/dashboard",
10
+ icon: a,
11
+ isActive: !0
12
+ },
13
+ {
14
+ label: "Analytics",
15
+ href: "/analytics",
16
+ icon: o
17
+ },
18
+ {
19
+ label: "Settings",
20
+ href: "/settings",
21
+ icon: t,
22
+ items: [
23
+ {
24
+ label: "General",
25
+ href: "/settings/general"
26
+ },
27
+ {
28
+ label: "Security",
29
+ href: "/settings/security"
30
+ }
31
+ ]
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ label: "Projects",
37
+ items: [
38
+ {
39
+ label: "All Projects",
40
+ href: "/projects",
41
+ icon: l
42
+ },
43
+ {
44
+ label: "Team",
45
+ href: "/team",
46
+ icon: e
47
+ }
48
+ ]
49
+ }
50
+ ],
51
+ user: {
52
+ name: "John Doe",
53
+ email: "john@example.com",
54
+ avatar: "https://github.com/shadcn.png"
55
+ },
56
+ branding: {
57
+ name: "Acme Inc",
58
+ logo: a,
59
+ href: "/"
60
+ },
61
+ userMenuItems: [
62
+ {
63
+ label: "Profile",
64
+ href: "/profile",
65
+ icon: e
66
+ },
67
+ {
68
+ label: "Settings",
69
+ href: "/settings",
70
+ icon: t
71
+ },
72
+ {
73
+ label: "Log out",
74
+ href: "/logout",
75
+ icon: e
76
+ // Using Users as placeholder for LogOut since we need to import it
77
+ }
78
+ ],
79
+ fixed: !1
80
+ }, i = {
81
+ items: [
82
+ {
83
+ label: "Overview",
84
+ href: "/overview"
85
+ },
86
+ {
87
+ label: "Documentation",
88
+ href: "/docs"
89
+ },
90
+ {
91
+ label: "Support",
92
+ href: "/support"
93
+ }
94
+ ],
95
+ searchPlaceholder: "Search...",
96
+ user: {
97
+ name: "John Doe",
98
+ email: "john@example.com",
99
+ avatar: "https://github.com/shadcn.png"
100
+ },
101
+ userMenuItems: [
102
+ {
103
+ label: "Profile",
104
+ href: "/profile",
105
+ icon: e
106
+ },
107
+ {
108
+ label: "Settings",
109
+ href: "/settings",
110
+ icon: t
111
+ },
112
+ {
113
+ label: "Log out",
114
+ href: "/logout",
115
+ icon: e
116
+ }
117
+ ],
118
+ notifications: [
119
+ {
120
+ title: "New Message",
121
+ description: "You have a new message from Jane.",
122
+ date: "2 min ago",
123
+ href: "/messages/1"
124
+ },
125
+ {
126
+ title: "System Update",
127
+ description: "System update completed successfully.",
128
+ date: "1 hour ago",
129
+ href: "/system/updates"
130
+ }
131
+ ]
132
+ };
133
+ export {
134
+ i as defaultNavbarConfig,
135
+ r as defaultSidebarConfig
136
+ };
@@ -0,0 +1 @@
1
+ export declare function useIsMobile(): boolean;
@@ -0,0 +1,14 @@
1
+ import * as o from "react";
2
+ const e = 768;
3
+ function r() {
4
+ const [s, n] = o.useState(void 0);
5
+ return o.useEffect(() => {
6
+ const t = window.matchMedia(`(max-width: ${e - 1}px)`), i = () => {
7
+ n(window.innerWidth < e);
8
+ };
9
+ return t.addEventListener("change", i), n(window.innerWidth < e), () => t.removeEventListener("change", i);
10
+ }, []), !!s;
11
+ }
12
+ export {
13
+ r as useIsMobile
14
+ };
@@ -0,0 +1,57 @@
1
+ export * from './molecules/app-sidebar';
2
+ export * from './molecules/app-navbar';
3
+ export * from './types/navigation';
4
+ export * from './config/default-navigation';
5
+ export * from './atoms/accordion';
6
+ export * from './atoms/alert-dialog';
7
+ export * from './atoms/alert';
8
+ export * from './atoms/aspect-ratio';
9
+ export * from './atoms/avatar';
10
+ export * from './atoms/badge';
11
+ export * from './atoms/breadcrumb';
12
+ export * from './atoms/button-group';
13
+ export * from './atoms/button';
14
+ export * from './atoms/calendar';
15
+ export * from './atoms/card';
16
+ export * from './atoms/carousel';
17
+ export * from './atoms/chart';
18
+ export * from './atoms/checkbox';
19
+ export * from './atoms/collapsible';
20
+ export * from './atoms/command';
21
+ export * from './atoms/context-menu';
22
+ export * from './atoms/dialog';
23
+ export * from './atoms/drawer';
24
+ export * from './atoms/dropdown-menu';
25
+ export * from './atoms/empty';
26
+ export * from './atoms/field';
27
+ export * from './atoms/form';
28
+ export * from './atoms/hover-card';
29
+ export * from './atoms/input-group';
30
+ export * from './atoms/input-otp';
31
+ export * from './atoms/input';
32
+ export * from './atoms/item';
33
+ export * from './atoms/kbd';
34
+ export * from './atoms/label';
35
+ export * from './atoms/menubar';
36
+ export * from './atoms/navigation-menu';
37
+ export * from './atoms/pagination';
38
+ export * from './atoms/popover';
39
+ export * from './atoms/progress';
40
+ export * from './atoms/radio-group';
41
+ export * from './atoms/resizable';
42
+ export * from './atoms/scroll-area';
43
+ export * from './atoms/select';
44
+ export * from './atoms/separator';
45
+ export * from './atoms/sheet';
46
+ export * from './atoms/sidebar';
47
+ export * from './atoms/skeleton';
48
+ export * from './atoms/slider';
49
+ export * from './atoms/sonner';
50
+ export * from './atoms/spinner';
51
+ export * from './atoms/switch';
52
+ export * from './atoms/table';
53
+ export * from './atoms/tabs';
54
+ export * from './atoms/textarea';
55
+ export * from './atoms/toggle-group';
56
+ export * from './atoms/toggle';
57
+ export * from './atoms/tooltip';