react-shadcn-kit 0.0.6 → 0.0.8

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 (159) hide show
  1. package/dist/assets/global.css +1 -1
  2. package/dist/atoms/accordion.js +1 -0
  3. package/dist/atoms/accordion.js.map +1 -0
  4. package/dist/atoms/alert-dialog.js +1 -0
  5. package/dist/atoms/alert-dialog.js.map +1 -0
  6. package/dist/atoms/alert.js +1 -0
  7. package/dist/atoms/alert.js.map +1 -0
  8. package/dist/atoms/aspect-ratio.js +1 -0
  9. package/dist/atoms/aspect-ratio.js.map +1 -0
  10. package/dist/atoms/avatar.js +1 -0
  11. package/dist/atoms/avatar.js.map +1 -0
  12. package/dist/atoms/badge.js +1 -0
  13. package/dist/atoms/badge.js.map +1 -0
  14. package/dist/atoms/breadcrumb.js +1 -0
  15. package/dist/atoms/breadcrumb.js.map +1 -0
  16. package/dist/atoms/button-group.js +1 -0
  17. package/dist/atoms/button-group.js.map +1 -0
  18. package/dist/atoms/button.js +1 -0
  19. package/dist/atoms/button.js.map +1 -0
  20. package/dist/atoms/calendar.js +1 -0
  21. package/dist/atoms/calendar.js.map +1 -0
  22. package/dist/atoms/card.js +1 -0
  23. package/dist/atoms/card.js.map +1 -0
  24. package/dist/atoms/carousel.js +1 -0
  25. package/dist/atoms/carousel.js.map +1 -0
  26. package/dist/atoms/chart.js +1 -0
  27. package/dist/atoms/chart.js.map +1 -0
  28. package/dist/atoms/checkbox.js +1 -0
  29. package/dist/atoms/checkbox.js.map +1 -0
  30. package/dist/atoms/collapsible.js +1 -0
  31. package/dist/atoms/collapsible.js.map +1 -0
  32. package/dist/atoms/command.js +1 -0
  33. package/dist/atoms/command.js.map +1 -0
  34. package/dist/atoms/context-menu.js +1 -0
  35. package/dist/atoms/context-menu.js.map +1 -0
  36. package/dist/atoms/dialog.js +1 -0
  37. package/dist/atoms/dialog.js.map +1 -0
  38. package/dist/atoms/drawer.js +1 -0
  39. package/dist/atoms/drawer.js.map +1 -0
  40. package/dist/atoms/dropdown-menu.js +1 -0
  41. package/dist/atoms/dropdown-menu.js.map +1 -0
  42. package/dist/atoms/empty.js +1 -0
  43. package/dist/atoms/empty.js.map +1 -0
  44. package/dist/atoms/field.js +1 -0
  45. package/dist/atoms/field.js.map +1 -0
  46. package/dist/atoms/form.js +1 -0
  47. package/dist/atoms/form.js.map +1 -0
  48. package/dist/atoms/hover-card.js +1 -0
  49. package/dist/atoms/hover-card.js.map +1 -0
  50. package/dist/atoms/index.d.ts +54 -0
  51. package/dist/atoms/index.js +342 -0
  52. package/dist/atoms/index.js.map +1 -0
  53. package/dist/atoms/input-group.js +1 -0
  54. package/dist/atoms/input-group.js.map +1 -0
  55. package/dist/atoms/input-otp.js +1 -0
  56. package/dist/atoms/input-otp.js.map +1 -0
  57. package/dist/atoms/input.js +1 -0
  58. package/dist/atoms/input.js.map +1 -0
  59. package/dist/atoms/item.js +1 -0
  60. package/dist/atoms/item.js.map +1 -0
  61. package/dist/atoms/kbd.js +1 -0
  62. package/dist/atoms/kbd.js.map +1 -0
  63. package/dist/atoms/label.js +1 -0
  64. package/dist/atoms/label.js.map +1 -0
  65. package/dist/atoms/menubar.js +1 -0
  66. package/dist/atoms/menubar.js.map +1 -0
  67. package/dist/atoms/navigation-menu.js +1 -0
  68. package/dist/atoms/navigation-menu.js.map +1 -0
  69. package/dist/atoms/pagination.js +1 -0
  70. package/dist/atoms/pagination.js.map +1 -0
  71. package/dist/atoms/popover.js +1 -0
  72. package/dist/atoms/popover.js.map +1 -0
  73. package/dist/atoms/progress.js +1 -0
  74. package/dist/atoms/progress.js.map +1 -0
  75. package/dist/atoms/radio-group.js +1 -0
  76. package/dist/atoms/radio-group.js.map +1 -0
  77. package/dist/atoms/resizable.js +1 -0
  78. package/dist/atoms/resizable.js.map +1 -0
  79. package/dist/atoms/scroll-area.js +1 -0
  80. package/dist/atoms/scroll-area.js.map +1 -0
  81. package/dist/atoms/select.js +1 -0
  82. package/dist/atoms/select.js.map +1 -0
  83. package/dist/atoms/separator.js +1 -0
  84. package/dist/atoms/separator.js.map +1 -0
  85. package/dist/atoms/sheet.js +1 -0
  86. package/dist/atoms/sheet.js.map +1 -0
  87. package/dist/atoms/sidebar.js +6 -5
  88. package/dist/atoms/sidebar.js.map +1 -0
  89. package/dist/atoms/skeleton.js +1 -0
  90. package/dist/atoms/skeleton.js.map +1 -0
  91. package/dist/atoms/slider.js +1 -0
  92. package/dist/atoms/slider.js.map +1 -0
  93. package/dist/atoms/sonner.js +1 -0
  94. package/dist/atoms/sonner.js.map +1 -0
  95. package/dist/atoms/spinner.js +1 -0
  96. package/dist/atoms/spinner.js.map +1 -0
  97. package/dist/atoms/switch.js +1 -0
  98. package/dist/atoms/switch.js.map +1 -0
  99. package/dist/atoms/table.js +1 -0
  100. package/dist/atoms/table.js.map +1 -0
  101. package/dist/atoms/tabs.js +1 -0
  102. package/dist/atoms/tabs.js.map +1 -0
  103. package/dist/atoms/textarea.js +1 -0
  104. package/dist/atoms/textarea.js.map +1 -0
  105. package/dist/atoms/theme-provider.d.ts +3 -0
  106. package/dist/atoms/theme-provider.js +12 -0
  107. package/dist/atoms/theme-provider.js.map +1 -0
  108. package/dist/atoms/toggle-group.js +1 -0
  109. package/dist/atoms/toggle-group.js.map +1 -0
  110. package/dist/atoms/toggle.js +1 -0
  111. package/dist/atoms/toggle.js.map +1 -0
  112. package/dist/atoms/tooltip.js +1 -0
  113. package/dist/atoms/tooltip.js.map +1 -0
  114. package/dist/default-layout.js +78 -0
  115. package/dist/default-layout.js.map +1 -0
  116. package/dist/hooks/index.d.ts +1 -0
  117. package/dist/hooks/index.js +5 -0
  118. package/dist/hooks/index.js.map +1 -0
  119. package/dist/hooks/use-mobile.js +1 -0
  120. package/dist/hooks/use-mobile.js.map +1 -0
  121. package/dist/index.d.ts +3 -6
  122. package/dist/index.js +342 -347
  123. package/dist/index.js.map +1 -0
  124. package/dist/lib/index.d.ts +1 -0
  125. package/dist/lib/index.js +5 -0
  126. package/dist/lib/index.js.map +1 -0
  127. package/dist/lib/utils.js +1 -0
  128. package/dist/lib/utils.js.map +1 -0
  129. package/dist/molecules/index.d.ts +3 -0
  130. package/dist/molecules/index.js +9 -0
  131. package/dist/molecules/index.js.map +1 -0
  132. package/dist/{organisms/app-sidebar-client.js → molecules/sidebar-theme-toggle.js} +1 -0
  133. package/dist/molecules/sidebar-theme-toggle.js.map +1 -0
  134. package/dist/molecules/theme-toggle.js +1 -0
  135. package/dist/molecules/theme-toggle.js.map +1 -0
  136. package/dist/molecules/user-menu.js +1 -0
  137. package/dist/molecules/user-menu.js.map +1 -0
  138. package/dist/organisms/app-navbar.d.ts +26 -3
  139. package/dist/organisms/app-navbar.js +77 -64
  140. package/dist/organisms/app-navbar.js.map +1 -0
  141. package/dist/organisms/app-sidebar.d.ts +30 -7
  142. package/dist/organisms/app-sidebar.js +110 -106
  143. package/dist/organisms/app-sidebar.js.map +1 -0
  144. package/dist/organisms/index.d.ts +2 -0
  145. package/dist/organisms/index.js +7 -0
  146. package/dist/organisms/index.js.map +1 -0
  147. package/package.json +28 -24
  148. package/dist/config/blog-layout.config.js +0 -19
  149. package/dist/config/default-Sidebar.js +0 -83
  150. package/dist/config/default-layout.js +0 -21
  151. package/dist/config/default-navigation.js +0 -57
  152. package/dist/config/sidebar.config.js +0 -11
  153. package/dist/layouts/blog-layout.d.ts +0 -7
  154. package/dist/layouts/blog-layout.js +0 -29
  155. package/dist/layouts/default-layout.d.ts +0 -7
  156. package/dist/layouts/default-layout.js +0 -54
  157. package/dist/layouts/sidebar-scroll-layout.d.ts +0 -8
  158. package/dist/layouts/sidebar-scroll-layout.js +0 -49
  159. /package/dist/{organisms/app-sidebar-client.d.ts → molecules/sidebar-theme-toggle.d.ts} +0 -0
@@ -1,143 +1,147 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import { ChevronDown as u, LogOut as k } from "lucide-react";
3
- import { SidebarThemeToggle as G } from "./app-sidebar-client.js";
4
- import { Sidebar as O, SidebarHeader as p, SidebarMenu as c, SidebarMenuItem as o, SidebarMenuButton as d, SidebarContent as B, SidebarGroup as F, SidebarGroupLabel as b, SidebarGroupContent as f, SidebarMenuSub as q, SidebarMenuSubItem as E, SidebarMenuSubButton as H, SidebarFooter as J } from "../atoms/sidebar.js";
5
- import { Collapsible as g, CollapsibleTrigger as N, CollapsibleContent as x } from "../atoms/collapsible.js";
6
- import { cn as K } from "../lib/utils.js";
7
- import { defaultSidebarConfig as i } from "../config/default-Sidebar.js";
8
- import { defaultSidebarStyles as m } from "../config/sidebar.config.js";
9
- import { Avatar as v, AvatarImage as C, AvatarFallback as S } from "../atoms/avatar.js";
10
- import { DropdownMenu as P, DropdownMenuTrigger as Q, DropdownMenuContent as R, DropdownMenuLabel as U, DropdownMenuSeparator as V, DropdownMenuItem as M } from "../atoms/dropdown-menu.js";
11
- function ne({
12
- config: s,
13
- side: w = "left",
14
- variant: A,
15
- collapsible: y,
16
- hideBranding: D = !1,
17
- showThemeToggle: I = !0,
18
- className: z,
19
- style: L,
20
- scrollable: T,
21
- ...j
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { ChevronDown as p, LogOut as q } from "lucide-react";
3
+ import { SidebarThemeToggle as H } from "../molecules/sidebar-theme-toggle.js";
4
+ import { Sidebar as E, SidebarHeader as u, SidebarMenu as s, SidebarMenuItem as c, SidebarMenuButton as d, SidebarContent as J, SidebarGroup as K, SidebarGroupLabel as f, SidebarGroupContent as g, SidebarMenuSub as P, SidebarMenuSubItem as Q, SidebarMenuSubButton as R, SidebarFooter as V } from "../atoms/sidebar.js";
5
+ import { Collapsible as N, CollapsibleTrigger as x, CollapsibleContent as S } from "../atoms/collapsible.js";
6
+ import { cn as W } from "../lib/utils.js";
7
+ import { Avatar as C, AvatarImage as w, AvatarFallback as M } from "../atoms/avatar.js";
8
+ import { DropdownMenu as X, DropdownMenuTrigger as Y, DropdownMenuContent as Z, DropdownMenuLabel as _, DropdownMenuSeparator as $, DropdownMenuItem as v } from "../atoms/dropdown-menu.js";
9
+ function ce({
10
+ groups: A = [],
11
+ header: o,
12
+ footer: y,
13
+ user: n,
14
+ userMenuItems: b,
15
+ branding: D,
16
+ labels: I,
17
+ fixed: z,
18
+ hideBranding: L = !1,
19
+ showThemeToggle: T = !0,
20
+ className: U,
21
+ style: j,
22
+ side: k = "left",
23
+ variant: B,
24
+ collapsible: G,
25
+ scrollable: ee = !1,
26
+ ...O
22
27
  }) {
23
- const r = {
24
- groups: s?.groups || i.groups,
25
- header: s?.header || i.header,
26
- footer: s?.footer || i.footer,
27
- user: s?.user || i.user,
28
- userMenuItems: s?.userMenuItems || i.userMenuItems,
29
- branding: D ? void 0 : s?.branding || i.branding,
30
- fixed: s?.fixed ?? i.fixed,
31
- variant: A ?? s?.variant ?? m.variant,
32
- collapsible: y ?? s?.collapsible ?? m.collapsible,
33
- scrollable: T ?? s?.scrollable ?? !1,
34
- style: { ...m.style, ...s?.style, ...L },
35
- className: s?.className
36
- };
37
- return /* @__PURE__ */ a(
38
- O,
28
+ const i = L ? void 0 : D;
29
+ return /* @__PURE__ */ l(
30
+ E,
39
31
  {
40
- side: w,
41
- variant: r.variant,
42
- collapsible: r.collapsible,
43
- scrollable: r.scrollable,
44
- className: K(
45
- r.fixed ? void 0 : "absolute h-full",
46
- r.className,
47
- z
48
- ),
49
- style: r.style,
50
- ...j,
32
+ side: k,
33
+ variant: B,
34
+ collapsible: G,
35
+ className: W(z ? void 0 : "absolute h-full", U),
36
+ style: j,
37
+ ...O,
51
38
  children: [
52
- r.header && /* @__PURE__ */ e(p, { children: r.header }),
53
- r.branding && !r.header && /* @__PURE__ */ e(p, { children: /* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(d, { size: "lg", asChild: !0, children: /* @__PURE__ */ a("a", { href: r.branding.href || "#", children: [
54
- /* @__PURE__ */ e("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg", children: r.branding.logo && /* @__PURE__ */ e(r.branding.logo, { className: "size-4" }) }),
55
- /* @__PURE__ */ a("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
56
- /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: r.branding.name }),
57
- /* @__PURE__ */ e("span", { className: "truncate text-xs", children: "Enterprise" })
39
+ o && /* @__PURE__ */ e(u, { children: o }),
40
+ i && !o && /* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(d, { size: "lg", asChild: !0, children: /* @__PURE__ */ l("a", { href: "#", children: [
41
+ /* @__PURE__ */ e("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg", children: i.logoUrl && /* @__PURE__ */ e(
42
+ "img",
43
+ {
44
+ src: i.logoUrl,
45
+ alt: i.logoAlt || "Logo",
46
+ className: "size-4"
47
+ }
48
+ ) }),
49
+ /* @__PURE__ */ l("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
50
+ i.title && /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: i.title }),
51
+ i.subtitle && /* @__PURE__ */ e("span", { className: "truncate text-xs", children: i.subtitle })
58
52
  ] })
59
53
  ] }) }) }) }) }),
60
- /* @__PURE__ */ e(B, { children: r.groups.map((n, h) => /* @__PURE__ */ a(F, { children: [
61
- n.label && (n.collapsible ? /* @__PURE__ */ a(g, { defaultOpen: !0, className: "group/collapsible", children: [
62
- /* @__PURE__ */ e(b, { asChild: !0, children: /* @__PURE__ */ a(N, { children: [
63
- n.label,
64
- /* @__PURE__ */ e(u, { className: "ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180" })
54
+ /* @__PURE__ */ e(J, { children: A?.map((r, h) => /* @__PURE__ */ l(K, { children: [
55
+ r.label && (r.collapsible ? /* @__PURE__ */ l(N, { defaultOpen: !0, className: "group/collapsible", children: [
56
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ l(x, { children: [
57
+ r.label,
58
+ /* @__PURE__ */ e(p, { className: "ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180" })
65
59
  ] }) }),
66
- /* @__PURE__ */ e(x, { children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ e(c, { children: n.items.map((l) => /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(d, { asChild: !0, isActive: l.isActive, children: /* @__PURE__ */ a("a", { href: l.href, children: [
67
- l.icon && /* @__PURE__ */ e(l.icon, {}),
68
- /* @__PURE__ */ e("span", { children: l.label })
69
- ] }) }) }, l.href)) }) }) })
70
- ] }) : /* @__PURE__ */ e(b, { children: n.label })),
71
- !n.collapsible && /* @__PURE__ */ e(f, { children: /* @__PURE__ */ e(c, { children: n.items.map((l) => /* @__PURE__ */ e(o, { children: l.items && l.items.length > 0 ? /* @__PURE__ */ a(g, { className: "group/collapsible", children: [
72
- /* @__PURE__ */ e(d, { asChild: !0, isActive: l.isActive, children: /* @__PURE__ */ a(N, { children: [
73
- l.icon && /* @__PURE__ */ e(l.icon, {}),
74
- /* @__PURE__ */ e("span", { children: l.label }),
75
- /* @__PURE__ */ e(u, { className: "ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180" })
76
- ] }) }),
77
- /* @__PURE__ */ e(x, { children: /* @__PURE__ */ e(q, { children: l.items.map((t) => /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(H, { asChild: !0, isActive: t.isActive, children: /* @__PURE__ */ e("a", { href: t.href, children: /* @__PURE__ */ e("span", { children: t.label }) }) }) }, t.href)) }) })
78
- ] }) : /* @__PURE__ */ e(d, { asChild: !0, isActive: l.isActive, children: /* @__PURE__ */ a("a", { href: l.href, children: [
79
- l.icon && /* @__PURE__ */ e(l.icon, {}),
80
- /* @__PURE__ */ e("span", { children: l.label })
81
- ] }) }) }, l.href)) }) })
82
- ] }, n.label || h)) }),
83
- /* @__PURE__ */ a(J, { children: [
84
- I && /* @__PURE__ */ e(G, {}),
85
- r.user && /* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(o, { children: /* @__PURE__ */ a(P, { children: [
86
- /* @__PURE__ */ e(Q, { asChild: !0, children: /* @__PURE__ */ a(
60
+ /* @__PURE__ */ e(S, { children: /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(s, { children: r.items?.map((a) => {
61
+ const t = a.icon;
62
+ return /* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(d, { asChild: !0, children: /* @__PURE__ */ l("a", { href: a.href, children: [
63
+ t && /* @__PURE__ */ e(t, {}),
64
+ /* @__PURE__ */ e("span", { children: a.label })
65
+ ] }) }) }, a.href);
66
+ }) }) }) })
67
+ ] }) : /* @__PURE__ */ e(f, { children: r.label })),
68
+ !r.collapsible && /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(s, { children: r.items?.map((a) => {
69
+ const t = a.icon, F = "items" in a && Array.isArray(a.items) && a.items.length > 0;
70
+ return /* @__PURE__ */ e(c, { children: F ? /* @__PURE__ */ l(N, { className: "group/collapsible", children: [
71
+ /* @__PURE__ */ e(d, { asChild: !0, children: /* @__PURE__ */ l(x, { children: [
72
+ t && /* @__PURE__ */ e(t, {}),
73
+ /* @__PURE__ */ e("span", { children: a.label }),
74
+ /* @__PURE__ */ e(p, { className: "ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180" })
75
+ ] }) }),
76
+ /* @__PURE__ */ e(S, { children: /* @__PURE__ */ e(P, { children: ("items" in a && Array.isArray(a.items) ? a.items : []).map((m) => /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ e(R, { asChild: !0, children: /* @__PURE__ */ e("a", { href: m.href, children: /* @__PURE__ */ e("span", { children: m.label }) }) }) }, m.href)) }) })
77
+ ] }) : /* @__PURE__ */ e(d, { asChild: !0, children: /* @__PURE__ */ l("a", { href: a.href, children: [
78
+ t && /* @__PURE__ */ e(t, {}),
79
+ /* @__PURE__ */ e("span", { children: a.label })
80
+ ] }) }) }, a.href);
81
+ }) }) })
82
+ ] }, r.label || h)) }),
83
+ /* @__PURE__ */ l(V, { children: [
84
+ T && /* @__PURE__ */ e(H, {}),
85
+ n && /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(c, { children: /* @__PURE__ */ l(X, { children: [
86
+ /* @__PURE__ */ e(Y, { asChild: !0, children: /* @__PURE__ */ l(
87
87
  d,
88
88
  {
89
89
  size: "lg",
90
90
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
91
91
  children: [
92
- /* @__PURE__ */ a(v, { className: "h-8 w-8 rounded-lg", children: [
93
- /* @__PURE__ */ e(C, { src: r.user.avatar, alt: r.user.name }),
94
- /* @__PURE__ */ e(S, { className: "rounded-lg", children: "CN" })
92
+ /* @__PURE__ */ l(C, { className: "h-8 w-8 rounded-lg", children: [
93
+ /* @__PURE__ */ e(w, { src: n.image, alt: n.name }),
94
+ /* @__PURE__ */ e(M, { className: "rounded-lg", children: n.name?.[0] || "U" })
95
95
  ] }),
96
- /* @__PURE__ */ a("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
97
- /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: r.user.name }),
98
- /* @__PURE__ */ e("span", { className: "truncate text-xs", children: r.user.email })
96
+ /* @__PURE__ */ l("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
97
+ /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: n.name }),
98
+ /* @__PURE__ */ e("span", { className: "truncate text-xs", children: n.email })
99
99
  ] }),
100
- /* @__PURE__ */ e(u, { className: "ml-auto size-4" })
100
+ /* @__PURE__ */ e(p, { className: "ml-auto size-4" })
101
101
  ]
102
102
  }
103
103
  ) }),
104
- /* @__PURE__ */ a(
105
- R,
104
+ /* @__PURE__ */ l(
105
+ Z,
106
106
  {
107
107
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
108
108
  side: "bottom",
109
109
  align: "end",
110
110
  sideOffset: 4,
111
111
  children: [
112
- /* @__PURE__ */ e(U, { className: "p-0 font-normal", children: /* @__PURE__ */ a("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm", children: [
113
- /* @__PURE__ */ a(v, { className: "h-8 w-8 rounded-lg", children: [
114
- /* @__PURE__ */ e(C, { src: r.user.avatar, alt: r.user.name }),
115
- /* @__PURE__ */ e(S, { className: "rounded-lg", children: "CN" })
112
+ /* @__PURE__ */ e(_, { className: "p-0 font-normal", children: /* @__PURE__ */ l("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm", children: [
113
+ /* @__PURE__ */ l(C, { className: "h-8 w-8 rounded-lg", children: [
114
+ /* @__PURE__ */ e(w, { src: n.image, alt: n.name }),
115
+ /* @__PURE__ */ e(M, { className: "rounded-lg", children: n.name?.[0] || "U" })
116
116
  ] }),
117
- /* @__PURE__ */ a("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
118
- /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: r.user.name }),
119
- /* @__PURE__ */ e("span", { className: "truncate text-xs", children: r.user.email })
117
+ /* @__PURE__ */ l("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
118
+ /* @__PURE__ */ e("span", { className: "truncate font-semibold", children: n.name }),
119
+ /* @__PURE__ */ e("span", { className: "truncate text-xs", children: n.email })
120
120
  ] })
121
121
  ] }) }),
122
- /* @__PURE__ */ e(V, {}),
123
- r.userMenuItems?.map((n, h) => /* @__PURE__ */ e(M, { asChild: !0, children: /* @__PURE__ */ a("a", { href: n.href || "#", onClick: n.onClick, children: [
124
- n.icon && /* @__PURE__ */ e(n.icon, { className: "mr-2 h-4 w-4" }),
125
- /* @__PURE__ */ e("span", { children: n.label })
126
- ] }) }, h)),
127
- !r.userMenuItems && /* @__PURE__ */ a(M, { children: [
128
- /* @__PURE__ */ e(k, { className: "mr-2 h-4 w-4" }),
129
- /* @__PURE__ */ e("span", { children: "Log out" })
122
+ /* @__PURE__ */ e($, {}),
123
+ b?.map((r, h) => {
124
+ const a = r.icon;
125
+ return /* @__PURE__ */ e(v, { asChild: !0, children: /* @__PURE__ */ l("a", { href: r.href || "#", onClick: r.onClick, children: [
126
+ a && /* @__PURE__ */ e(a, { className: "mr-2 h-4 w-4" }),
127
+ /* @__PURE__ */ e("span", { children: r.label })
128
+ ] }) }, h);
129
+ }),
130
+ !b && /* @__PURE__ */ l(v, { children: [
131
+ /* @__PURE__ */ e(q, { className: "mr-2 h-4 w-4" }),
132
+ /* @__PURE__ */ e("span", { children: I?.logout || "Log out" })
130
133
  ] })
131
134
  ]
132
135
  }
133
136
  )
134
137
  ] }) }) }),
135
- r.footer
138
+ y
136
139
  ] })
137
140
  ]
138
141
  }
139
142
  );
140
143
  }
141
144
  export {
142
- ne as AppSidebar
145
+ ce as AppSidebar
143
146
  };
147
+ //# sourceMappingURL=app-sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-sidebar.js","sources":["../../src/organisms/app-sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport { ChevronDown, LogOut } from \"lucide-react\";\nimport { SidebarThemeToggle } from \"../molecules/sidebar-theme-toggle\";\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from \"@/atoms/sidebar\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"@/atoms/collapsible\";\nimport { cn } from \"@/lib/utils\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/atoms/avatar\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/atoms/dropdown-menu\";\nimport type {\n UserConfig,\n BrandingConfig,\n SidebarGroup as SidebarGroupType,\n MenuItem,\n} from \"@/default-layout\";\n\ninterface SidebarLabels {\n logout?: string;\n}\n\ninterface UserMenuItem {\n label: string;\n href?: string;\n icon?: React.ComponentType<{ className?: string }>;\n onClick?: () => void;\n}\n\ninterface AppSidebarProps extends React.ComponentProps<typeof Sidebar> {\n groups?: (SidebarGroupType & {\n items: (MenuItem & {\n icon?: React.ComponentType<{ className?: string }>;\n items?: MenuItem[];\n })[];\n })[];\n header?: React.ReactNode;\n footer?: React.ReactNode;\n user?: UserConfig;\n userMenuItems?: UserMenuItem[];\n branding?: BrandingConfig;\n labels?: SidebarLabels;\n fixed?: boolean;\n hideBranding?: boolean;\n showThemeToggle?: boolean;\n scrollable?: boolean;\n}\n\nexport function AppSidebar({\n groups = [],\n header,\n footer,\n user,\n userMenuItems,\n branding,\n labels,\n fixed,\n hideBranding = false,\n showThemeToggle = true,\n className,\n style,\n side = \"left\",\n variant,\n collapsible,\n scrollable = false,\n ...props\n}: AppSidebarProps) {\n const finalBranding = hideBranding ? undefined : branding;\n\n return (\n <Sidebar\n side={side}\n variant={variant}\n collapsible={collapsible}\n className={cn(!fixed ? \"absolute h-full\" : undefined, className)}\n style={style}\n {...props}\n >\n {header && <SidebarHeader>{header}</SidebarHeader>}\n\n {finalBranding && !header && (\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton size=\"lg\" asChild>\n <a href=\"#\">\n <div className=\"bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg\">\n {finalBranding.logoUrl && (\n <img\n src={finalBranding.logoUrl}\n alt={finalBranding.logoAlt || \"Logo\"}\n className=\"size-4\"\n />\n )}\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n {finalBranding.title && (\n <span className=\"truncate font-semibold\">{finalBranding.title}</span>\n )}\n {finalBranding.subtitle && (\n <span className=\"truncate text-xs\">{finalBranding.subtitle}</span>\n )}\n </div>\n </a>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarHeader>\n )}\n\n <SidebarContent>\n {groups?.map((group, index) => (\n <SidebarGroup key={group.label || index}>\n {group.label &&\n (group.collapsible ? (\n <Collapsible defaultOpen className=\"group/collapsible\">\n <SidebarGroupLabel asChild>\n <CollapsibleTrigger>\n {group.label}\n <ChevronDown className=\"ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180\" />\n </CollapsibleTrigger>\n </SidebarGroupLabel>\n <CollapsibleContent>\n <SidebarGroupContent>\n <SidebarMenu>\n {group.items?.map((item) => {\n const ItemIcon = item.icon;\n return (\n <SidebarMenuItem key={item.href}>\n <SidebarMenuButton asChild>\n <a href={item.href}>\n {ItemIcon && <ItemIcon />}\n <span>{item.label}</span>\n </a>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n })}\n </SidebarMenu>\n </SidebarGroupContent>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <SidebarGroupLabel>{group.label}</SidebarGroupLabel>\n ))}\n {!group.collapsible && (\n <SidebarGroupContent>\n <SidebarMenu>\n {group.items?.map((item) => {\n const ItemIcon = item.icon;\n const hasSubItems =\n \"items\" in item && Array.isArray(item.items) && item.items.length > 0;\n return (\n <SidebarMenuItem key={item.href}>\n {hasSubItems ? (\n <Collapsible className=\"group/collapsible\">\n <SidebarMenuButton asChild>\n <CollapsibleTrigger>\n {ItemIcon && <ItemIcon />}\n <span>{item.label}</span>\n <ChevronDown className=\"ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180\" />\n </CollapsibleTrigger>\n </SidebarMenuButton>\n <CollapsibleContent>\n <SidebarMenuSub>\n {(\"items\" in item && Array.isArray(item.items)\n ? item.items\n : []\n ).map((subItem: MenuItem) => (\n <SidebarMenuSubItem key={subItem.href}>\n <SidebarMenuSubButton asChild>\n <a href={subItem.href}>\n <span>{subItem.label}</span>\n </a>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n ))}\n </SidebarMenuSub>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <SidebarMenuButton asChild>\n <a href={item.href}>\n {ItemIcon && <ItemIcon />}\n <span>{item.label}</span>\n </a>\n </SidebarMenuButton>\n )}\n </SidebarMenuItem>\n );\n })}\n </SidebarMenu>\n </SidebarGroupContent>\n )}\n </SidebarGroup>\n ))}\n </SidebarContent>\n\n <SidebarFooter>\n {showThemeToggle && <SidebarThemeToggle />}\n {user && (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.image} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n {user.name?.[0] || \"U\"}\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n <ChevronDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n side=\"bottom\"\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.image} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n {user.name?.[0] || \"U\"}\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {userMenuItems?.map((item, index) => {\n const MenuIcon = item.icon;\n return (\n <DropdownMenuItem key={index} asChild>\n <a href={item.href || \"#\"} onClick={item.onClick}>\n {MenuIcon && <MenuIcon className=\"mr-2 h-4 w-4\" />}\n <span>{item.label}</span>\n </a>\n </DropdownMenuItem>\n );\n })}\n {!userMenuItems && (\n <DropdownMenuItem>\n <LogOut className=\"mr-2 h-4 w-4\" />\n <span>{labels?.logout || \"Log out\"}</span>\n </DropdownMenuItem>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n )}\n {footer}\n </SidebarFooter>\n </Sidebar>\n );\n}\n"],"names":["jsxs","jsx","ChevronDown","LogOut","SidebarThemeToggle","Sidebar","SidebarHeader","SidebarMenu","SidebarMenuItem","SidebarMenuButton","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupContent","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton","SidebarFooter","Collapsible","CollapsibleTrigger","CollapsibleContent","cn","Avatar","AvatarImage","AvatarFallback","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuItem","AppSidebar","groups","header","footer","user","userMenuItems","branding","labels","fixed","hideBranding","showThemeToggle","className","style","side","variant","collapsible","scrollable","props","finalBranding","group","index","item","ItemIcon","hasSubItems","subItem","MenuIcon"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './app-navbar';
2
+ export * from './app-sidebar';
@@ -0,0 +1,7 @@
1
+ import { AppNavbar as o } from "./app-navbar.js";
2
+ import { AppSidebar as e } from "./app-sidebar.js";
3
+ export {
4
+ o as AppNavbar,
5
+ e as AppSidebar
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "react-shadcn-kit",
3
3
  "author": "Tushar Yadav",
4
4
  "private": false,
5
- "version": "0.0.6",
5
+ "version": "0.0.8",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
@@ -16,36 +16,40 @@
16
16
  "exports": {
17
17
  ".": {
18
18
  "types": "./dist/index.d.ts",
19
- "import": "./dist/index.js"
19
+ "import": "./dist/index.js",
20
+ "default": "./dist/index.js"
20
21
  },
21
- "./atoms/*": {
22
- "types": "./dist/atoms/*.d.ts",
23
- "import": "./dist/atoms/*.js"
22
+ "./default-layout": {
23
+ "types": "./dist/default-layout.d.ts",
24
+ "import": "./dist/default-layout.js",
25
+ "default": "./dist/default-layout.js"
24
26
  },
25
- "./molecules/*": {
26
- "types": "./dist/molecules/*.d.ts",
27
- "import": "./dist/molecules/*.js"
27
+ "./atoms": {
28
+ "types": "./dist/atoms/index.d.ts",
29
+ "import": "./dist/atoms/index.js",
30
+ "default": "./dist/atoms/index.js"
28
31
  },
29
- "./organisms/*": {
30
- "types": "./dist/organisms/*.d.ts",
31
- "import": "./dist/organisms/*.js"
32
+ "./molecules": {
33
+ "types": "./dist/molecules/index.d.ts",
34
+ "import": "./dist/molecules/index.js",
35
+ "default": "./dist/molecules/index.js"
32
36
  },
33
- "./layouts/*": {
34
- "types": "./dist/layouts/*.d.ts",
35
- "import": "./dist/layouts/*.js"
37
+ "./organisms": {
38
+ "types": "./dist/organisms/index.d.ts",
39
+ "import": "./dist/organisms/index.js",
40
+ "default": "./dist/organisms/index.js"
36
41
  },
37
- "./hooks/*": {
38
- "types": "./dist/hooks/*.d.ts",
39
- "import": "./dist/hooks/*.js"
42
+ "./hooks": {
43
+ "types": "./dist/hooks/index.d.ts",
44
+ "import": "./dist/hooks/index.js",
45
+ "default": "./dist/hooks/index.js"
40
46
  },
41
- "./lib/*": {
42
- "types": "./dist/lib/*.d.ts",
43
- "import": "./dist/lib/*.js"
47
+ "./lib": {
48
+ "types": "./dist/lib/index.d.ts",
49
+ "import": "./dist/lib/index.js",
50
+ "default": "./dist/lib/index.js"
44
51
  },
45
- "./config/*": {
46
- "types": "./dist/config/*.d.ts",
47
- "import": "./dist/config/*.js"
48
- }
52
+ "./package.json": "./package.json"
49
53
  },
50
54
  "scripts": {
51
55
  "dev": "vite",
@@ -1,19 +0,0 @@
1
- import { defaultSidebarConfig as i } from "./default-Sidebar.js";
2
- const e = {
3
- ...i,
4
- variant: "sidebar",
5
- collapsible: "icon",
6
- header: void 0,
7
- // No header for blog layout
8
- branding: {
9
- ...i.branding,
10
- name: "My Blog"
11
- },
12
- style: {
13
- "--sidebar-width": "18rem",
14
- "--sidebar-width-mobile": "100%"
15
- }
16
- };
17
- export {
18
- e as blogLayoutConfig
19
- };
@@ -1,83 +0,0 @@
1
- import { LayoutDashboard as t, Users as e, Settings as a, BarChart as l, Folder as r } from "lucide-react";
2
- const i = {
3
- groups: [
4
- {
5
- label: "Platform",
6
- items: [
7
- {
8
- label: "Dashboard",
9
- href: "/dashboard",
10
- icon: t,
11
- isActive: !0
12
- },
13
- {
14
- label: "Analytics",
15
- href: "/analytics",
16
- icon: l
17
- },
18
- {
19
- label: "Settings",
20
- href: "/settings",
21
- icon: a,
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: r
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: t,
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: a
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: !0
80
- };
81
- export {
82
- i as defaultSidebarConfig
83
- };
@@ -1,21 +0,0 @@
1
- const t = {
2
- sidebar: {
3
- visible: !0,
4
- placement: "left",
5
- color: "#fff",
6
- transparent: !1,
7
- hasBranding: !0,
8
- width: "250px"
9
- },
10
- navbar: {
11
- visible: !0,
12
- height: "60px",
13
- transparent: !1,
14
- showBranding: !0,
15
- position: "top",
16
- shadow: !0
17
- }
18
- };
19
- export {
20
- t as defaultLayoutConfig
21
- };
@@ -1,57 +0,0 @@
1
- import { Users as e, Settings as t } from "lucide-react";
2
- const a = {
3
- items: [
4
- {
5
- label: "Overview",
6
- href: "/overview"
7
- },
8
- {
9
- label: "Documentation",
10
- href: "/docs"
11
- },
12
- {
13
- label: "Support",
14
- href: "/support"
15
- }
16
- ],
17
- searchPlaceholder: "Search...",
18
- user: {
19
- name: "John Doe",
20
- email: "john@example.com",
21
- avatar: "https://github.com/shadcn.png"
22
- },
23
- userMenuItems: [
24
- {
25
- label: "Profile",
26
- href: "/profile",
27
- icon: e
28
- },
29
- {
30
- label: "Settings",
31
- href: "/settings",
32
- icon: t
33
- },
34
- {
35
- label: "Log out",
36
- href: "/logout",
37
- icon: e
38
- }
39
- ],
40
- notifications: [
41
- {
42
- title: "New Message",
43
- description: "You have a new message from Jane.",
44
- date: "2 min ago",
45
- href: "/messages/1"
46
- },
47
- {
48
- title: "System Update",
49
- description: "System update completed successfully.",
50
- date: "1 hour ago",
51
- href: "/system/updates"
52
- }
53
- ]
54
- };
55
- export {
56
- a as defaultNavbarConfig
57
- };
@@ -1,11 +0,0 @@
1
- const e = {
2
- variant: "sidebar",
3
- collapsible: "icon",
4
- style: {
5
- "--sidebar-width": "16rem",
6
- "--sidebar-width-mobile": "18rem"
7
- }
8
- };
9
- export {
10
- e as defaultSidebarStyles
11
- };
@@ -1,7 +0,0 @@
1
- import { SidebarConfig } from '../types/navigation';
2
- export default function BlogLayout({ children, userConfig, scrollable, maxWidth, }: {
3
- children: React.ReactNode;
4
- userConfig?: Partial<SidebarConfig>;
5
- scrollable?: boolean;
6
- maxWidth?: string;
7
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,29 +0,0 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { SidebarProvider as t, SidebarInset as f, SidebarTrigger as m } from "../atoms/sidebar.js";
3
- import { AppSidebar as d } from "../organisms/app-sidebar.js";
4
- import { blogLayoutConfig as n } from "../config/blog-layout.config.js";
5
- function b({
6
- children: i,
7
- userConfig: a,
8
- scrollable: s = !1,
9
- maxWidth: r
10
- }) {
11
- const o = { ...n, ...a };
12
- return /* @__PURE__ */ l(t, { style: o.style, children: [
13
- /* @__PURE__ */ e(d, { config: o, scrollable: s }),
14
- /* @__PURE__ */ l(f, { children: [
15
- /* @__PURE__ */ e("header", { className: "flex h-16 shrink-0 items-center gap-2 border-b px-4", children: /* @__PURE__ */ e(m, { className: "-ml-1" }) }),
16
- /* @__PURE__ */ e(
17
- "div",
18
- {
19
- className: "flex flex-1 flex-col gap-4 p-4 mx-auto w-full",
20
- style: r ? { maxWidth: r } : void 0,
21
- children: i
22
- }
23
- )
24
- ] })
25
- ] });
26
- }
27
- export {
28
- b as default
29
- };