@demokit-ui/demokit 0.1.0

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 (231) hide show
  1. package/README.md +128 -0
  2. package/dist/app/background-decor.d.ts +1 -0
  3. package/dist/app/background-decor.js +38 -0
  4. package/dist/app/container.d.ts +12 -0
  5. package/dist/app/container.js +29 -0
  6. package/dist/app/demo1-shell.d.ts +43 -0
  7. package/dist/app/demo1-shell.js +616 -0
  8. package/dist/app/tweak-panel.d.ts +22 -0
  9. package/dist/app/tweak-panel.js +182 -0
  10. package/dist/components/apexcharts.css +101 -0
  11. package/dist/components/scrollable.css +120 -0
  12. package/dist/config/settings.config.d.ts +2 -0
  13. package/dist/config/settings.config.js +33 -0
  14. package/dist/config/types.d.ts +50 -0
  15. package/dist/config.reui.css +337 -0
  16. package/dist/demos/demo1.css +176 -0
  17. package/dist/index.d.ts +14 -0
  18. package/dist/index.js +484 -0
  19. package/dist/kit/components/chart/chart/chart.d.ts +57 -0
  20. package/dist/kit/components/chart/chart/chart.js +206 -0
  21. package/dist/kit/components/composite/action-bar/action-bar.d.ts +10 -0
  22. package/dist/kit/components/composite/action-bar/action-bar.js +38 -0
  23. package/dist/kit/components/composite/action-card/action-card.d.ts +13 -0
  24. package/dist/kit/components/composite/action-card/action-card.js +35 -0
  25. package/dist/kit/components/composite/activity-feed/activity-feed.d.ts +17 -0
  26. package/dist/kit/components/composite/activity-feed/activity-feed.js +26 -0
  27. package/dist/kit/components/composite/alert-card/alert-card.d.ts +10 -0
  28. package/dist/kit/components/composite/alert-card/alert-card.js +37 -0
  29. package/dist/kit/components/composite/approval-flow/approval-flow.d.ts +51 -0
  30. package/dist/kit/components/composite/approval-flow/approval-flow.js +185 -0
  31. package/dist/kit/components/composite/auth-shell/auth-shell.d.ts +10 -0
  32. package/dist/kit/components/composite/auth-shell/auth-shell.js +32 -0
  33. package/dist/kit/components/composite/board-toolbar/board-toolbar.d.ts +12 -0
  34. package/dist/kit/components/composite/board-toolbar/board-toolbar.js +44 -0
  35. package/dist/kit/components/composite/chart-card/chart-card.d.ts +14 -0
  36. package/dist/kit/components/composite/chart-card/chart-card.js +64 -0
  37. package/dist/kit/components/composite/chart-toolbar/chart-toolbar.d.ts +17 -0
  38. package/dist/kit/components/composite/chart-toolbar/chart-toolbar.js +48 -0
  39. package/dist/kit/components/composite/data-section/data-section.d.ts +17 -0
  40. package/dist/kit/components/composite/data-section/data-section.js +73 -0
  41. package/dist/kit/components/composite/description-grid/description-grid.d.ts +12 -0
  42. package/dist/kit/components/composite/description-grid/description-grid.js +36 -0
  43. package/dist/kit/components/composite/detail-header/detail-header.d.ts +19 -0
  44. package/dist/kit/components/composite/detail-header/detail-header.js +43 -0
  45. package/dist/kit/components/composite/filter-panel/filter-panel.d.ts +18 -0
  46. package/dist/kit/components/composite/filter-panel/filter-panel.js +86 -0
  47. package/dist/kit/components/composite/filter-toolbar/filter-toolbar.d.ts +14 -0
  48. package/dist/kit/components/composite/filter-toolbar/filter-toolbar.js +59 -0
  49. package/dist/kit/components/composite/forgot-password-form/forgot-password-form.d.ts +9 -0
  50. package/dist/kit/components/composite/forgot-password-form/forgot-password-form.js +34 -0
  51. package/dist/kit/components/composite/form-section/form-section.d.ts +9 -0
  52. package/dist/kit/components/composite/form-section/form-section.js +16 -0
  53. package/dist/kit/components/composite/kanban-board/kanban-board.d.ts +50 -0
  54. package/dist/kit/components/composite/kanban-board/kanban-board.js +55 -0
  55. package/dist/kit/components/composite/login-card/login-card.d.ts +33 -0
  56. package/dist/kit/components/composite/login-card/login-card.js +138 -0
  57. package/dist/kit/components/composite/message-list-card/message-list-card.d.ts +20 -0
  58. package/dist/kit/components/composite/message-list-card/message-list-card.js +83 -0
  59. package/dist/kit/components/composite/metric-card/metric-card.d.ts +18 -0
  60. package/dist/kit/components/composite/metric-card/metric-card.js +37 -0
  61. package/dist/kit/components/composite/milestone-card/milestone-card.d.ts +12 -0
  62. package/dist/kit/components/composite/milestone-card/milestone-card.js +33 -0
  63. package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.d.ts +14 -0
  64. package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.js +32 -0
  65. package/dist/kit/components/composite/page-header/page-header.d.ts +12 -0
  66. package/dist/kit/components/composite/page-header/page-header.js +66 -0
  67. package/dist/kit/components/composite/profile-card/profile-card.d.ts +16 -0
  68. package/dist/kit/components/composite/profile-card/profile-card.js +28 -0
  69. package/dist/kit/components/composite/progress-card/progress-card.d.ts +16 -0
  70. package/dist/kit/components/composite/progress-card/progress-card.js +23 -0
  71. package/dist/kit/components/composite/project-card/project-card.d.ts +17 -0
  72. package/dist/kit/components/composite/project-card/project-card.js +46 -0
  73. package/dist/kit/components/composite/shortcut-card/shortcut-card.d.ts +13 -0
  74. package/dist/kit/components/composite/shortcut-card/shortcut-card.js +35 -0
  75. package/dist/kit/components/composite/sprint-summary/sprint-summary.d.ts +15 -0
  76. package/dist/kit/components/composite/sprint-summary/sprint-summary.js +43 -0
  77. package/dist/kit/components/composite/state-panel/state-panel.d.ts +12 -0
  78. package/dist/kit/components/composite/state-panel/state-panel.js +79 -0
  79. package/dist/kit/components/composite/summary-card/summary-card.d.ts +15 -0
  80. package/dist/kit/components/composite/summary-card/summary-card.js +25 -0
  81. package/dist/kit/components/composite/task-card/task-card.d.ts +14 -0
  82. package/dist/kit/components/composite/task-card/task-card.js +49 -0
  83. package/dist/kit/components/composite/timeline/timeline.d.ts +46 -0
  84. package/dist/kit/components/composite/timeline/timeline.js +176 -0
  85. package/dist/kit/components/composite/todo-card/todo-card.d.ts +26 -0
  86. package/dist/kit/components/composite/todo-card/todo-card.js +101 -0
  87. package/dist/kit/components/data-display/avatar/avatar.d.ts +12 -0
  88. package/dist/kit/components/data-display/avatar/avatar.js +61 -0
  89. package/dist/kit/components/data-display/avatar-group/avatar-group.d.ts +22 -0
  90. package/dist/kit/components/data-display/avatar-group/avatar-group.js +184 -0
  91. package/dist/kit/components/data-display/badge/badge.d.ts +29 -0
  92. package/dist/kit/components/data-display/badge/badge.js +203 -0
  93. package/dist/kit/components/data-display/card/card.d.ts +15 -0
  94. package/dist/kit/components/data-display/card/card.js +119 -0
  95. package/dist/kit/components/data-display/data-grid/data-grid-column-filter.d.ts +15 -0
  96. package/dist/kit/components/data-display/data-grid/data-grid-column-filter.js +74 -0
  97. package/dist/kit/components/data-display/data-grid/data-grid-column-header.d.ts +12 -0
  98. package/dist/kit/components/data-display/data-grid/data-grid-column-header.js +171 -0
  99. package/dist/kit/components/data-display/data-grid/data-grid-column-visibility.d.ts +7 -0
  100. package/dist/kit/components/data-display/data-grid/data-grid-column-visibility.js +24 -0
  101. package/dist/kit/components/data-display/data-grid/data-grid-pagination.d.ts +15 -0
  102. package/dist/kit/components/data-display/data-grid/data-grid-pagination.js +132 -0
  103. package/dist/kit/components/data-display/data-grid/data-grid-table-dnd-rows.d.ts +9 -0
  104. package/dist/kit/components/data-display/data-grid/data-grid-table-dnd-rows.js +61 -0
  105. package/dist/kit/components/data-display/data-grid/data-grid-table-dnd.d.ts +5 -0
  106. package/dist/kit/components/data-display/data-grid/data-grid-table-dnd.js +86 -0
  107. package/dist/kit/components/data-display/data-grid/data-grid-table.d.ts +59 -0
  108. package/dist/kit/components/data-display/data-grid/data-grid-table.js +356 -0
  109. package/dist/kit/components/data-display/data-grid/data-grid.d.ts +87 -0
  110. package/dist/kit/components/data-display/data-grid/data-grid.js +87 -0
  111. package/dist/kit/components/data-display/kbd/kbd.d.ts +8 -0
  112. package/dist/kit/components/data-display/kbd/kbd.js +27 -0
  113. package/dist/kit/components/data-display/money-amount/money-amount.d.ts +27 -0
  114. package/dist/kit/components/data-display/money-amount/money-amount.js +91 -0
  115. package/dist/kit/components/data-display/progress/progress.d.ts +6 -0
  116. package/dist/kit/components/data-display/progress/progress.js +29 -0
  117. package/dist/kit/components/data-display/skeleton/skeleton.d.ts +3 -0
  118. package/dist/kit/components/data-display/skeleton/skeleton.js +8 -0
  119. package/dist/kit/components/data-display/sliding-number/sliding-number.d.ts +7 -0
  120. package/dist/kit/components/data-display/sliding-number/sliding-number.js +41 -0
  121. package/dist/kit/components/data-display/stepper/stepper.d.ts +61 -0
  122. package/dist/kit/components/data-display/stepper/stepper.js +230 -0
  123. package/dist/kit/components/data-display/table/table.d.ts +28 -0
  124. package/dist/kit/components/data-display/table/table.js +156 -0
  125. package/dist/kit/components/decorative/aurora-background/aurora-background.d.ts +7 -0
  126. package/dist/kit/components/decorative/aurora-background/aurora-background.js +60 -0
  127. package/dist/kit/components/decorative/grid-background/grid-background.d.ts +22 -0
  128. package/dist/kit/components/decorative/grid-background/grid-background.js +46 -0
  129. package/dist/kit/components/decorative/shimmering-text/shimmering-text.d.ts +29 -0
  130. package/dist/kit/components/decorative/shimmering-text/shimmering-text.js +64 -0
  131. package/dist/kit/components/decorative/text-reveal/text-reveal.d.ts +17 -0
  132. package/dist/kit/components/decorative/text-reveal/text-reveal.js +277 -0
  133. package/dist/kit/components/feedback/alert/alert.d.ts +21 -0
  134. package/dist/kit/components/feedback/alert/alert.js +236 -0
  135. package/dist/kit/components/feedback/alert-dialog/alert-dialog.d.ts +16 -0
  136. package/dist/kit/components/feedback/alert-dialog/alert-dialog.js +117 -0
  137. package/dist/kit/components/feedback/context-menu/context-menu.d.ts +24 -0
  138. package/dist/kit/components/feedback/context-menu/context-menu.js +183 -0
  139. package/dist/kit/components/feedback/dialog/dialog.d.ts +22 -0
  140. package/dist/kit/components/feedback/dialog/dialog.js +120 -0
  141. package/dist/kit/components/feedback/drawer/drawer.d.ts +13 -0
  142. package/dist/kit/components/feedback/drawer/drawer.js +76 -0
  143. package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.d.ts +25 -0
  144. package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.js +200 -0
  145. package/dist/kit/components/feedback/hover-card/hover-card.d.ts +6 -0
  146. package/dist/kit/components/feedback/hover-card/hover-card.js +34 -0
  147. package/dist/kit/components/feedback/popover/popover.d.ts +6 -0
  148. package/dist/kit/components/feedback/popover/popover.js +34 -0
  149. package/dist/kit/components/feedback/sheet/sheet.d.ts +22 -0
  150. package/dist/kit/components/feedback/sheet/sheet.js +128 -0
  151. package/dist/kit/components/feedback/sonner/sonner.d.ts +5 -0
  152. package/dist/kit/components/feedback/sonner/sonner.js +21 -0
  153. package/dist/kit/components/feedback/title-help/title-help.d.ts +10 -0
  154. package/dist/kit/components/feedback/title-help/title-help.js +44 -0
  155. package/dist/kit/components/feedback/tooltip/tooltip.d.ts +11 -0
  156. package/dist/kit/components/feedback/tooltip/tooltip.js +49 -0
  157. package/dist/kit/components/form/button/button.d.ts +23 -0
  158. package/dist/kit/components/form/button/button.js +380 -0
  159. package/dist/kit/components/form/calendar/calendar.d.ts +4 -0
  160. package/dist/kit/components/form/calendar/calendar.js +47 -0
  161. package/dist/kit/components/form/checkbox/checkbox.d.ts +8 -0
  162. package/dist/kit/components/form/checkbox/checkbox.js +39 -0
  163. package/dist/kit/components/form/command/command.d.ts +21 -0
  164. package/dist/kit/components/form/command/command.js +116 -0
  165. package/dist/kit/components/form/datefield/datefield.d.ts +14 -0
  166. package/dist/kit/components/form/datefield/datefield.js +74 -0
  167. package/dist/kit/components/form/file-upload/file-upload.d.ts +56 -0
  168. package/dist/kit/components/form/file-upload/file-upload.js +338 -0
  169. package/dist/kit/components/form/form/form.d.ts +24 -0
  170. package/dist/kit/components/form/form/form.js +86 -0
  171. package/dist/kit/components/form/input/input.d.ts +22 -0
  172. package/dist/kit/components/form/input/input.js +182 -0
  173. package/dist/kit/components/form/label/label.d.ts +8 -0
  174. package/dist/kit/components/form/label/label.js +28 -0
  175. package/dist/kit/components/form/radio-group/radio-group.d.ts +13 -0
  176. package/dist/kit/components/form/radio-group/radio-group.js +79 -0
  177. package/dist/kit/components/form/select/select.d.ts +25 -0
  178. package/dist/kit/components/form/select/select.js +194 -0
  179. package/dist/kit/components/form/slider/slider.d.ts +5 -0
  180. package/dist/kit/components/form/slider/slider.js +34 -0
  181. package/dist/kit/components/form/switch/switch.d.ts +20 -0
  182. package/dist/kit/components/form/switch/switch.js +158 -0
  183. package/dist/kit/components/form/textarea/textarea.d.ts +7 -0
  184. package/dist/kit/components/form/textarea/textarea.js +34 -0
  185. package/dist/kit/components/form/toggle/toggle.d.ts +9 -0
  186. package/dist/kit/components/form/toggle/toggle.js +36 -0
  187. package/dist/kit/components/form/toggle-group/toggle-group.d.ts +7 -0
  188. package/dist/kit/components/form/toggle-group/toggle-group.js +62 -0
  189. package/dist/kit/components/index.d.ts +108 -0
  190. package/dist/kit/components/layout/accordion/accordion.d.ts +13 -0
  191. package/dist/kit/components/layout/accordion/accordion.js +124 -0
  192. package/dist/kit/components/layout/aspect-ratio/aspect-ratio.d.ts +4 -0
  193. package/dist/kit/components/layout/aspect-ratio/aspect-ratio.js +8 -0
  194. package/dist/kit/components/layout/collapsible/collapsible.d.ts +6 -0
  195. package/dist/kit/components/layout/collapsible/collapsible.js +32 -0
  196. package/dist/kit/components/layout/resizable/resizable.d.ts +24 -0
  197. package/dist/kit/components/layout/resizable/resizable.js +32 -0
  198. package/dist/kit/components/layout/scroll-area/scroll-area.d.ts +8 -0
  199. package/dist/kit/components/layout/scroll-area/scroll-area.js +48 -0
  200. package/dist/kit/components/layout/separator/separator.d.ts +4 -0
  201. package/dist/kit/components/layout/separator/separator.js +23 -0
  202. package/dist/kit/components/navigation/accordion-menu/accordion-menu.d.ts +51 -0
  203. package/dist/kit/components/navigation/accordion-menu/accordion-menu.js +290 -0
  204. package/dist/kit/components/navigation/breadcrumb/breadcrumb.d.ts +13 -0
  205. package/dist/kit/components/navigation/breadcrumb/breadcrumb.js +76 -0
  206. package/dist/kit/components/navigation/menubar/menubar.d.ts +25 -0
  207. package/dist/kit/components/navigation/menubar/menubar.js +218 -0
  208. package/dist/kit/components/navigation/navigation-menu/navigation-menu.d.ts +14 -0
  209. package/dist/kit/components/navigation/navigation-menu/navigation-menu.js +137 -0
  210. package/dist/kit/components/navigation/pagination/pagination.d.ts +6 -0
  211. package/dist/kit/components/navigation/pagination/pagination.js +38 -0
  212. package/dist/kit/components/navigation/scrollspy/scrollspy.d.ts +14 -0
  213. package/dist/kit/components/navigation/scrollspy/scrollspy.js +84 -0
  214. package/dist/kit/components/navigation/tabs/tabs.d.ts +16 -0
  215. package/dist/kit/components/navigation/tabs/tabs.js +172 -0
  216. package/dist/kit/themes/theme-toggle.d.ts +1 -0
  217. package/dist/kit/themes/theme-toggle.js +56 -0
  218. package/dist/kit/tokens/chart-palette.d.ts +1 -0
  219. package/dist/kit/tokens/chart-palette.js +12 -0
  220. package/dist/lib/utils.d.ts +8 -0
  221. package/dist/lib/utils.js +8 -0
  222. package/dist/providers/demokit-provider.d.ts +4 -0
  223. package/dist/providers/demokit-provider.js +9 -0
  224. package/dist/providers/settings-provider.d.ts +15 -0
  225. package/dist/providers/settings-provider.js +78 -0
  226. package/dist/providers/theme-provider.d.ts +4 -0
  227. package/dist/providers/theme-provider.js +9 -0
  228. package/dist/providers/tooltips-provider.d.ts +4 -0
  229. package/dist/providers/tooltips-provider.js +8 -0
  230. package/dist/styles.css +237 -0
  231. package/package.json +72 -0
@@ -0,0 +1,616 @@
1
+ import { jsxs as t, Fragment as Z, jsx as e } from "react/jsx-runtime";
2
+ import { useEffect as f, useState as D, useMemo as le, useCallback as ie } from "react";
3
+ import { ThemeToggle as ae } from "../kit/themes/theme-toggle.js";
4
+ import { RiApps2Line as ce, RiMenuLine as de, RiSearchLine as me, RiNotification3Line as ue, RiCheckDoubleLine as he, RiArrowRightSLine as K, RiUserLine as pe, RiFileTextLine as B, RiSettings4Line as fe, RiShieldUserLine as ge, RiLogoutBoxRLine as xe } from "@remixicon/react";
5
+ import { ChevronFirst as be } from "lucide-react";
6
+ import { useLocation as j, Outlet as Ne, useNavigate as ve, Link as A } from "react-router-dom";
7
+ import { toast as p } from "sonner";
8
+ import { cn as v } from "../lib/utils.js";
9
+ import { useSettings as ee } from "../providers/settings-provider.js";
10
+ import { BackgroundDecor as ye } from "./background-decor.js";
11
+ import { Container as te } from "./container.js";
12
+ import { Sheet as we, SheetTrigger as Ce, SheetContent as Se, SheetHeader as Me, SheetBody as ke } from "../kit/components/feedback/sheet/sheet.js";
13
+ import { Button as z } from "../kit/components/form/button/button.js";
14
+ import { Popover as ze, PopoverTrigger as De, PopoverContent as Le } from "../kit/components/feedback/popover/popover.js";
15
+ import { Badge as P } from "../kit/components/data-display/badge/badge.js";
16
+ import { DropdownMenu as Ie, DropdownMenuTrigger as Te, DropdownMenuContent as Ae, DropdownMenuSeparator as E, DropdownMenuLabel as Re, DropdownMenuItem as k } from "../kit/components/feedback/dropdown-menu/dropdown-menu.js";
17
+ import { Avatar as U, AvatarFallback as H } from "../kit/components/data-display/avatar/avatar.js";
18
+ import { Dialog as Ee, DialogContent as $e, DialogHeader as Pe, DialogTitle as Oe, DialogDescription as je } from "../kit/components/feedback/dialog/dialog.js";
19
+ import { Command as _e, CommandInput as Fe, CommandList as Ke, CommandEmpty as Be, CommandGroup as V, CommandItem as W, CommandSeparator as Ue } from "../kit/components/form/command/command.js";
20
+ import { AccordionMenu as He, AccordionMenuLabel as Ve, AccordionMenuItem as T, AccordionMenuSub as G, AccordionMenuSubTrigger as Y, AccordionMenuSubContent as Q, AccordionMenuGroup as q } from "../kit/components/navigation/accordion-menu/accordion-menu.js";
21
+ const J = 992, X = {
22
+ title: "DemoKit",
23
+ shortTitle: "D",
24
+ href: "/",
25
+ logoIcon: ce
26
+ }, We = {
27
+ name: "张建国",
28
+ description: "软件中心 · 项目经理",
29
+ initials: "张"
30
+ }, Ge = {
31
+ root: "lg:ps-1 space-y-3",
32
+ group: "gap-px",
33
+ label: "uppercase text-xs font-medium text-muted-foreground/70 pt-2.25 pb-px",
34
+ separator: "",
35
+ item: "h-8 hover:bg-transparent text-accent-foreground hover:text-primary data-[selected=true]:text-primary data-[selected=true]:bg-muted data-[selected=true]:font-medium",
36
+ sub: "",
37
+ subTrigger: "h-8 hover:bg-transparent text-accent-foreground hover:text-primary data-[selected=true]:text-primary data-[selected=true]:bg-muted data-[selected=true]:font-medium",
38
+ subContent: "py-0",
39
+ indicator: ""
40
+ };
41
+ function re() {
42
+ const [s, i] = D(void 0);
43
+ return f(() => {
44
+ const l = window.matchMedia(
45
+ `(max-width: ${J - 1}px)`
46
+ ), c = () => i(window.innerWidth < J);
47
+ return l.addEventListener("change", c), c(), () => l.removeEventListener("change", c);
48
+ }, []), !!s;
49
+ }
50
+ function Ye() {
51
+ const [s, i] = D(0);
52
+ return f(() => {
53
+ const l = () => i(window.scrollY);
54
+ return window.addEventListener("scroll", l), l(), () => window.removeEventListener("scroll", l);
55
+ }, []), s;
56
+ }
57
+ function Qe(s, i) {
58
+ return i ? i === "/" ? i === s : s.startsWith(i) : !1;
59
+ }
60
+ function O(s, i) {
61
+ for (const l of s) {
62
+ if (l.path && Qe(i, l.path))
63
+ return l.children?.length ? O(l.children, i) ?? l : l;
64
+ if (l.children?.length) {
65
+ const c = O(l.children, i);
66
+ if (c) return c;
67
+ }
68
+ }
69
+ }
70
+ function $(s) {
71
+ const i = s.icon;
72
+ return i ? /* @__PURE__ */ e(i, { "data-slot": "accordion-menu-icon" }) : null;
73
+ }
74
+ function ne({
75
+ menu: s,
76
+ disabledBadgeLabel: i
77
+ }) {
78
+ const { pathname: l } = j(), c = ie(
79
+ (r) => r === l || r.length > 1 && l.startsWith(r),
80
+ [l]
81
+ ), h = (r) => r.map((o, a) => o.heading ? b(o, a) : o.disabled ? w(o, a) : y(o, a)), y = (r, o) => r.children ? /* @__PURE__ */ t(G, { value: r.path || `root-${o}`, children: [
82
+ /* @__PURE__ */ t(Y, { className: "text-sm font-medium", children: [
83
+ $(r),
84
+ /* @__PURE__ */ e("span", { "data-slot": "accordion-menu-title", children: r.title })
85
+ ] }),
86
+ /* @__PURE__ */ e(
87
+ Q,
88
+ {
89
+ type: "single",
90
+ collapsible: !0,
91
+ parentValue: r.path || `root-${o}`,
92
+ className: "ps-6",
93
+ children: /* @__PURE__ */ e(q, { children: g(r.children, 1) })
94
+ }
95
+ )
96
+ ] }, o) : /* @__PURE__ */ e(
97
+ T,
98
+ {
99
+ value: r.path || "",
100
+ className: "text-sm font-medium",
101
+ children: /* @__PURE__ */ t(A, { to: r.path || "#", className: "flex items-center grow gap-2", children: [
102
+ $(r),
103
+ /* @__PURE__ */ e("span", { "data-slot": "accordion-menu-title", children: r.title })
104
+ ] })
105
+ },
106
+ o
107
+ ), w = (r, o) => /* @__PURE__ */ t(
108
+ T,
109
+ {
110
+ value: `disabled-${o}`,
111
+ className: "text-sm font-medium",
112
+ children: [
113
+ $(r),
114
+ /* @__PURE__ */ e("span", { "data-slot": "accordion-menu-title", children: r.title }),
115
+ /* @__PURE__ */ e(P, { variant: "secondary", size: "sm", className: "ms-auto me-[-10px]", children: i })
116
+ ]
117
+ },
118
+ o
119
+ ), g = (r, o = 0) => r.map((a, m) => a.disabled ? C(a, m, o) : d(a, m, o)), d = (r, o, a = 0) => r.children ? /* @__PURE__ */ t(
120
+ G,
121
+ {
122
+ value: r.path || `child-${a}-${o}`,
123
+ children: [
124
+ /* @__PURE__ */ e(Y, { className: "text-[13px]", children: r.collapse ? /* @__PURE__ */ t("span", { className: "text-muted-foreground", children: [
125
+ /* @__PURE__ */ e("span", { className: "hidden [[data-state=open]>span>&]:inline", children: r.collapseTitle }),
126
+ /* @__PURE__ */ e("span", { className: "inline [[data-state=open]>span>&]:hidden", children: r.expandTitle })
127
+ ] }) : r.title }),
128
+ /* @__PURE__ */ e(
129
+ Q,
130
+ {
131
+ type: "single",
132
+ collapsible: !0,
133
+ parentValue: r.path || `child-${a}-${o}`,
134
+ className: v("ps-4", !r.collapse && "relative"),
135
+ children: /* @__PURE__ */ e(q, { children: g(
136
+ r.children,
137
+ r.collapse ? a : a + 1
138
+ ) })
139
+ }
140
+ )
141
+ ]
142
+ },
143
+ o
144
+ ) : /* @__PURE__ */ e(
145
+ T,
146
+ {
147
+ value: r.path || "",
148
+ className: "text-[13px]",
149
+ children: /* @__PURE__ */ e(A, { to: r.path || "#", children: r.title })
150
+ },
151
+ o
152
+ ), C = (r, o, a = 0) => /* @__PURE__ */ t(
153
+ T,
154
+ {
155
+ value: `disabled-child-${a}-${o}`,
156
+ className: "text-[13px]",
157
+ children: [
158
+ /* @__PURE__ */ e("span", { "data-slot": "accordion-menu-title", children: r.title }),
159
+ /* @__PURE__ */ e(P, { variant: "secondary", size: "sm", className: "ms-auto me-[-10px]", children: i })
160
+ ]
161
+ },
162
+ o
163
+ ), b = (r, o) => /* @__PURE__ */ e(Ve, { children: r.heading }, o);
164
+ return /* @__PURE__ */ e("div", { className: "kt-scrollable-y-hover flex-1 min-h-0 overflow-y-auto py-5 px-5", children: /* @__PURE__ */ e(
165
+ He,
166
+ {
167
+ selectedValue: l,
168
+ matchPath: c,
169
+ type: "single",
170
+ collapsible: !0,
171
+ classNames: Ge,
172
+ children: h(s)
173
+ }
174
+ ) });
175
+ }
176
+ function qe({ brand: s }) {
177
+ const { settings: i, storeOption: l } = ee(), c = s.logoIcon, h = () => {
178
+ l(
179
+ "layouts.demo1.sidebarCollapse",
180
+ !i.layouts.demo1.sidebarCollapse
181
+ );
182
+ };
183
+ return /* @__PURE__ */ t("div", { className: "sidebar-header hidden lg:flex items-center relative justify-between px-3 lg:px-6 shrink-0", children: [
184
+ /* @__PURE__ */ t(A, { to: s.href ?? "/", className: "flex items-center gap-2", children: [
185
+ s.logoSrc ? /* @__PURE__ */ e(
186
+ "img",
187
+ {
188
+ src: s.logoSrc,
189
+ alt: s.logoAlt ?? s.title,
190
+ className: "size-7 rounded-md"
191
+ }
192
+ ) : c ? /* @__PURE__ */ e("span", { className: "size-7 rounded-md inline-flex items-center justify-center bg-primary/10 text-primary", children: /* @__PURE__ */ e(c, { className: "size-4" }) }) : /* @__PURE__ */ e("span", { className: "size-7 rounded-md inline-flex items-center justify-center bg-primary/10 text-primary text-xs font-semibold", children: s.shortTitle ?? s.title.slice(0, 1) }),
193
+ /* @__PURE__ */ e("span", { className: "font-semibold text-[15px] text-foreground default-logo", children: s.title }),
194
+ /* @__PURE__ */ e("span", { className: "font-semibold text-[15px] text-foreground small-logo hidden", children: s.shortTitle ?? s.title.slice(0, 1) })
195
+ ] }),
196
+ /* @__PURE__ */ e(
197
+ z,
198
+ {
199
+ onClick: h,
200
+ size: "sm",
201
+ mode: "icon",
202
+ variant: "outline",
203
+ className: v(
204
+ "size-7 absolute start-full top-2/4 rtl:translate-x-2/4 -translate-x-2/4 -translate-y-2/4",
205
+ i.layouts.demo1.sidebarCollapse ? "ltr:rotate-180" : "rtl:rotate-180"
206
+ ),
207
+ children: /* @__PURE__ */ e(be, { className: "size-4!" })
208
+ }
209
+ )
210
+ ] });
211
+ }
212
+ function Je({
213
+ brand: s,
214
+ menu: i,
215
+ disabledBadgeLabel: l
216
+ }) {
217
+ return /* @__PURE__ */ t("div", { className: "sidebar bg-background lg:border-e lg:border-border lg:fixed lg:top-0 lg:bottom-0 lg:z-20 lg:flex flex-col items-stretch shrink-0", children: [
218
+ /* @__PURE__ */ e(qe, { brand: s }),
219
+ /* @__PURE__ */ e("div", { className: "w-full overflow-hidden flex-1 flex flex-col min-h-0", children: /* @__PURE__ */ t("div", { className: "w-(--sidebar-default-width) flex-1 flex flex-col min-h-0", children: [
220
+ /* @__PURE__ */ e(
221
+ ne,
222
+ {
223
+ menu: i,
224
+ disabledBadgeLabel: l
225
+ }
226
+ ),
227
+ /* @__PURE__ */ e("div", { className: "mt-auto shrink-0", children: /* @__PURE__ */ e(ae, {}) })
228
+ ] }) })
229
+ ] });
230
+ }
231
+ function Xe({
232
+ brand: s,
233
+ menu: i,
234
+ title: l,
235
+ disabledBadgeLabel: c,
236
+ searchPlaceholder: h,
237
+ searchQuickNav: y,
238
+ searchRecent: w,
239
+ notifications: g,
240
+ user: d
241
+ }) {
242
+ const [C, b] = D(!1), [r, o] = D(!1), [a, m] = D(g), { pathname: L } = j(), S = ve(), I = re(), x = Ye() > 0, N = le(
243
+ () => a.filter((n) => n.unread).length,
244
+ [a]
245
+ );
246
+ f(() => {
247
+ b(!1);
248
+ }, [L]), f(() => {
249
+ m(g);
250
+ }, [g]), f(() => {
251
+ const n = (u) => {
252
+ (u.metaKey || u.ctrlKey) && u.key.toLowerCase() === "k" && (u.preventDefault(), o((M) => !M));
253
+ };
254
+ return document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
255
+ }, []);
256
+ const F = (n) => {
257
+ S(n), o(!1);
258
+ }, se = () => m(
259
+ (n) => n.map((u) => ({ ...u, unread: !1 }))
260
+ ), oe = (n) => {
261
+ m(
262
+ (M) => M.map(
263
+ (R) => R.id === n ? { ...R, unread: !1 } : R
264
+ )
265
+ );
266
+ const u = a.find((M) => M.id === n);
267
+ u && p.info(u.title, { description: u.desc });
268
+ };
269
+ return /* @__PURE__ */ t(Z, { children: [
270
+ /* @__PURE__ */ e(
271
+ "header",
272
+ {
273
+ className: v(
274
+ "header fixed top-0 z-10 start-0 flex items-stretch shrink-0 end-0 pe-[var(--removed-body-scroll-bar-size,0px)] transition-[background-color,border-color,backdrop-filter] duration-200",
275
+ x ? "bg-background/80 backdrop-blur-xl border-b border-border" : "bg-transparent border-b border-transparent"
276
+ ),
277
+ children: /* @__PURE__ */ t(te, { className: "flex justify-between items-stretch lg:gap-4", children: [
278
+ /* @__PURE__ */ t("div", { className: "flex gap-2.5 lg:hidden items-center", children: [
279
+ /* @__PURE__ */ e(
280
+ A,
281
+ {
282
+ to: s.href ?? "/",
283
+ className: "shrink-0 font-semibold text-base text-foreground",
284
+ children: s.title
285
+ }
286
+ ),
287
+ I && /* @__PURE__ */ t(
288
+ we,
289
+ {
290
+ open: C,
291
+ onOpenChange: b,
292
+ children: [
293
+ /* @__PURE__ */ e(Ce, { asChild: !0, children: /* @__PURE__ */ e(z, { variant: "ghost", mode: "icon", children: /* @__PURE__ */ e(de, { className: "text-muted-foreground" }) }) }),
294
+ /* @__PURE__ */ t(
295
+ Se,
296
+ {
297
+ className: "p-0 gap-0 w-[275px]",
298
+ side: "left",
299
+ close: !1,
300
+ children: [
301
+ /* @__PURE__ */ e(Me, { className: "p-0 space-y-0" }),
302
+ /* @__PURE__ */ e(ke, { className: "p-0 overflow-y-auto", children: /* @__PURE__ */ e(
303
+ ne,
304
+ {
305
+ menu: i,
306
+ disabledBadgeLabel: c
307
+ }
308
+ ) })
309
+ ]
310
+ }
311
+ )
312
+ ]
313
+ }
314
+ )
315
+ ] }),
316
+ /* @__PURE__ */ e("div", { className: "flex items-center grow lg:ms-0 ms-2", children: /* @__PURE__ */ e("h1", { className: "text-sm font-medium hidden lg:block text-foreground", children: l }) }),
317
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
318
+ /* @__PURE__ */ e(
319
+ z,
320
+ {
321
+ variant: "ghost",
322
+ mode: "icon",
323
+ shape: "circle",
324
+ onClick: () => o(!0),
325
+ title: "搜索 (⌘K)",
326
+ className: "size-9 [&_svg]:text-muted-foreground hover:bg-primary/10 hover:[&_svg]:text-primary",
327
+ children: /* @__PURE__ */ e(me, { className: "size-4.5!" })
328
+ }
329
+ ),
330
+ /* @__PURE__ */ t(ze, { children: [
331
+ /* @__PURE__ */ e(De, { asChild: !0, children: /* @__PURE__ */ t(
332
+ z,
333
+ {
334
+ variant: "ghost",
335
+ mode: "icon",
336
+ shape: "circle",
337
+ title: "通知",
338
+ className: "size-9 relative [&_svg]:text-muted-foreground hover:bg-primary/10 hover:[&_svg]:text-primary",
339
+ children: [
340
+ /* @__PURE__ */ e(ue, { className: "size-4.5!" }),
341
+ N > 0 && /* @__PURE__ */ e("span", { className: "absolute top-1.5 right-1.5 size-2 rounded-full bg-destructive" })
342
+ ]
343
+ }
344
+ ) }),
345
+ /* @__PURE__ */ t(Le, { align: "end", className: "w-80 p-0", children: [
346
+ /* @__PURE__ */ t("div", { className: "flex items-center justify-between px-3 py-2.5 border-b border-border", children: [
347
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
348
+ /* @__PURE__ */ e("span", { className: "text-sm font-semibold text-foreground", children: "通知" }),
349
+ N > 0 && /* @__PURE__ */ t(P, { variant: "destructive", appearance: "light", size: "xs", children: [
350
+ N,
351
+ " 未读"
352
+ ] })
353
+ ] }),
354
+ /* @__PURE__ */ t(
355
+ z,
356
+ {
357
+ variant: "ghost",
358
+ size: "sm",
359
+ className: "h-6 px-2 text-xs",
360
+ disabled: N === 0,
361
+ onClick: se,
362
+ children: [
363
+ /* @__PURE__ */ e(he, { className: "size-3.5" }),
364
+ "全部已读"
365
+ ]
366
+ }
367
+ )
368
+ ] }),
369
+ /* @__PURE__ */ e("div", { className: "max-h-80 overflow-y-auto", children: a.map((n) => /* @__PURE__ */ t(
370
+ "button",
371
+ {
372
+ type: "button",
373
+ onClick: () => oe(n.id),
374
+ className: v(
375
+ "w-full text-left px-3 py-2.5 border-b border-border last:border-0 hover:bg-muted/60 transition-colors flex gap-2.5",
376
+ n.unread && "bg-primary/[0.03]"
377
+ ),
378
+ children: [
379
+ /* @__PURE__ */ e(
380
+ "span",
381
+ {
382
+ className: v(
383
+ "mt-1.5 size-1.5 rounded-full shrink-0",
384
+ n.type === "warning" && "bg-warning",
385
+ n.type === "info" && "bg-primary",
386
+ n.type === "success" && "bg-success",
387
+ !n.unread && "opacity-30"
388
+ )
389
+ }
390
+ ),
391
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
392
+ /* @__PURE__ */ t("div", { className: "flex items-baseline justify-between gap-2", children: [
393
+ /* @__PURE__ */ e(
394
+ "span",
395
+ {
396
+ className: v(
397
+ "text-sm truncate",
398
+ n.unread ? "text-foreground font-medium" : "text-muted-foreground"
399
+ ),
400
+ children: n.title
401
+ }
402
+ ),
403
+ /* @__PURE__ */ e("span", { className: "text-[10px] text-muted-foreground shrink-0 font-mono", children: n.time })
404
+ ] }),
405
+ /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground mt-0.5 line-clamp-2", children: n.desc })
406
+ ] })
407
+ ]
408
+ },
409
+ n.id
410
+ )) }),
411
+ /* @__PURE__ */ e("div", { className: "px-3 py-2 border-t border-border", children: /* @__PURE__ */ t(
412
+ "button",
413
+ {
414
+ type: "button",
415
+ onClick: () => p.info("跳转到通知中心(示例)"),
416
+ className: "text-xs text-primary hover:underline inline-flex items-center gap-0.5",
417
+ children: [
418
+ "查看全部通知 ",
419
+ /* @__PURE__ */ e(K, { className: "size-3.5" })
420
+ ]
421
+ }
422
+ ) })
423
+ ] })
424
+ ] }),
425
+ /* @__PURE__ */ t(Ie, { children: [
426
+ /* @__PURE__ */ e(Te, { asChild: !0, children: /* @__PURE__ */ t(
427
+ "button",
428
+ {
429
+ type: "button",
430
+ className: "ms-1 flex items-center gap-2 px-2 py-1 rounded-full cursor-pointer hover:bg-muted/60 transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring",
431
+ children: [
432
+ /* @__PURE__ */ e(U, { className: "size-8", children: /* @__PURE__ */ e(H, { className: "bg-primary text-primary-foreground text-xs font-semibold", children: d.initials ?? d.name.slice(0, 1) }) }),
433
+ /* @__PURE__ */ e("span", { className: "text-sm hidden md:inline text-foreground", children: d.name })
434
+ ]
435
+ }
436
+ ) }),
437
+ /* @__PURE__ */ t(Ae, { align: "end", className: "w-56", children: [
438
+ /* @__PURE__ */ t("div", { className: "px-2 py-2 flex items-center gap-2.5", children: [
439
+ /* @__PURE__ */ e(U, { className: "size-10", children: /* @__PURE__ */ e(H, { className: "bg-primary text-primary-foreground font-semibold", children: d.initials ?? d.name.slice(0, 1) }) }),
440
+ /* @__PURE__ */ t("div", { className: "min-w-0", children: [
441
+ /* @__PURE__ */ e("div", { className: "text-sm font-semibold text-foreground truncate", children: d.name }),
442
+ d.description && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground truncate", children: d.description })
443
+ ] })
444
+ ] }),
445
+ /* @__PURE__ */ e(E, {}),
446
+ /* @__PURE__ */ e(Re, { className: "text-[10px] text-muted-foreground uppercase tracking-wider", children: "账户" }),
447
+ /* @__PURE__ */ t(
448
+ k,
449
+ {
450
+ onSelect: () => p.info("打开个人主页(示例)"),
451
+ children: [
452
+ /* @__PURE__ */ e(pe, { className: "size-3.5" }),
453
+ "个人主页"
454
+ ]
455
+ }
456
+ ),
457
+ /* @__PURE__ */ t(
458
+ k,
459
+ {
460
+ onSelect: () => p.info("打开我的任务(示例)"),
461
+ children: [
462
+ /* @__PURE__ */ e(B, { className: "size-3.5" }),
463
+ "我的任务"
464
+ ]
465
+ }
466
+ ),
467
+ /* @__PURE__ */ t(
468
+ k,
469
+ {
470
+ onSelect: () => p.info("打开账户设置(示例)"),
471
+ children: [
472
+ /* @__PURE__ */ e(fe, { className: "size-3.5" }),
473
+ "账户设置"
474
+ ]
475
+ }
476
+ ),
477
+ /* @__PURE__ */ e(E, {}),
478
+ /* @__PURE__ */ t(
479
+ k,
480
+ {
481
+ onSelect: () => d.permissionsPath ? S(d.permissionsPath) : p.info("打开权限与角色(示例)"),
482
+ children: [
483
+ /* @__PURE__ */ e(ge, { className: "size-3.5" }),
484
+ "权限与角色"
485
+ ]
486
+ }
487
+ ),
488
+ /* @__PURE__ */ e(E, {}),
489
+ /* @__PURE__ */ t(
490
+ k,
491
+ {
492
+ variant: "destructive",
493
+ onSelect: () => p.success("已退出登录(示例)"),
494
+ children: [
495
+ /* @__PURE__ */ e(xe, { className: "size-3.5" }),
496
+ "退出登录"
497
+ ]
498
+ }
499
+ )
500
+ ] })
501
+ ] })
502
+ ] })
503
+ ] })
504
+ }
505
+ ),
506
+ /* @__PURE__ */ e(Ee, { open: r, onOpenChange: o, children: /* @__PURE__ */ t($e, { className: "p-0 gap-0 sm:max-w-lg overflow-hidden", children: [
507
+ /* @__PURE__ */ t(Pe, { className: "sr-only", children: [
508
+ /* @__PURE__ */ e(Oe, { children: "全局搜索" }),
509
+ /* @__PURE__ */ e(je, { children: h })
510
+ ] }),
511
+ /* @__PURE__ */ t(_e, { children: [
512
+ /* @__PURE__ */ e(Fe, { placeholder: h }),
513
+ /* @__PURE__ */ t(Ke, { children: [
514
+ /* @__PURE__ */ e(Be, { children: "没有匹配结果" }),
515
+ /* @__PURE__ */ e(V, { heading: "快速跳转", children: y.map((n) => /* @__PURE__ */ t(
516
+ W,
517
+ {
518
+ onSelect: () => n.path ? F(n.path) : p.info("打开:" + n.title),
519
+ children: [
520
+ /* @__PURE__ */ e(K, { className: "size-3.5 text-muted-foreground" }),
521
+ /* @__PURE__ */ e("span", { children: n.title }),
522
+ n.hint && /* @__PURE__ */ e("span", { className: "ml-auto text-[10px] font-mono text-muted-foreground", children: n.hint })
523
+ ]
524
+ },
525
+ `${n.title}-${n.path ?? n.hint}`
526
+ )) }),
527
+ /* @__PURE__ */ e(Ue, {}),
528
+ /* @__PURE__ */ e(V, { heading: "最近访问", children: w.map((n) => /* @__PURE__ */ t(
529
+ W,
530
+ {
531
+ onSelect: () => n.path ? F(n.path) : p.info("打开:" + n.title),
532
+ children: [
533
+ /* @__PURE__ */ e(B, { className: "size-3.5 text-muted-foreground" }),
534
+ /* @__PURE__ */ e("span", { className: "truncate", children: n.title }),
535
+ n.hint && /* @__PURE__ */ e("span", { className: "ml-auto text-[10px] text-muted-foreground shrink-0", children: n.hint })
536
+ ]
537
+ },
538
+ `${n.title}-${n.hint}`
539
+ )) })
540
+ ] })
541
+ ] })
542
+ ] }) })
543
+ ] });
544
+ }
545
+ function Ze({ footer: s }) {
546
+ return /* @__PURE__ */ e("footer", { className: "footer", children: /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e("div", { className: "flex flex-col md:flex-row justify-center md:justify-between items-center gap-3 py-5", children: /* @__PURE__ */ e("div", { className: "text-muted-foreground text-sm", children: s }) }) }) });
547
+ }
548
+ function vt({
549
+ menu: s,
550
+ brand: i = X,
551
+ titleFallback: l = "个人工作台",
552
+ footer: c,
553
+ disabledBadgeLabel: h = "Soon",
554
+ searchPlaceholder: y = "搜索页面、缺陷、凭证、成员...",
555
+ searchQuickNav: w = [],
556
+ searchRecent: g = [],
557
+ notifications: d = [],
558
+ user: C = We,
559
+ children: b
560
+ }) {
561
+ const r = re(), { pathname: o } = j(), m = O(s, o)?.title ?? l, { settings: L, setOption: S } = ee(), I = { ...X, ...i }, _ = c ?? `${(/* @__PURE__ */ new Date()).getFullYear()} © DemoKit · Demo design system`;
562
+ return f(() => {
563
+ const x = document.body.classList;
564
+ L.layouts.demo1.sidebarCollapse ? x.add("sidebar-collapse") : x.remove("sidebar-collapse");
565
+ }, [L.layouts.demo1.sidebarCollapse]), f(() => {
566
+ S("layout", "demo1");
567
+ }, [S]), f(() => {
568
+ const x = document.body.classList;
569
+ x.add("demo1", "sidebar-fixed", "header-fixed");
570
+ const N = window.setTimeout(() => {
571
+ x.add("layout-initialized");
572
+ }, 1e3);
573
+ return () => {
574
+ x.remove(
575
+ "demo1",
576
+ "sidebar-fixed",
577
+ "sidebar-collapse",
578
+ "header-fixed",
579
+ "layout-initialized"
580
+ ), window.clearTimeout(N);
581
+ };
582
+ }, []), f(() => {
583
+ document.title = m;
584
+ }, [m]), /* @__PURE__ */ t(Z, { children: [
585
+ /* @__PURE__ */ e(ye, {}),
586
+ !r && /* @__PURE__ */ e(
587
+ Je,
588
+ {
589
+ brand: I,
590
+ menu: s,
591
+ disabledBadgeLabel: h
592
+ }
593
+ ),
594
+ /* @__PURE__ */ t("div", { className: "wrapper flex grow flex-col", children: [
595
+ /* @__PURE__ */ e(
596
+ Xe,
597
+ {
598
+ brand: I,
599
+ menu: s,
600
+ title: m,
601
+ disabledBadgeLabel: h,
602
+ searchPlaceholder: y,
603
+ searchQuickNav: w,
604
+ searchRecent: g,
605
+ notifications: d,
606
+ user: C
607
+ }
608
+ ),
609
+ /* @__PURE__ */ e("main", { className: "grow pt-5", role: "content", children: b ?? /* @__PURE__ */ e(Ne, {}) }),
610
+ /* @__PURE__ */ e(Ze, { footer: _ })
611
+ ] })
612
+ ] });
613
+ }
614
+ export {
615
+ vt as Demo1Shell
616
+ };
@@ -0,0 +1,22 @@
1
+ import { ComponentProps, ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { PopoverContent } from '../kit/components';
3
+ export interface TweakPanelProps {
4
+ triggerLabel?: ReactNode;
5
+ triggerTitle?: string;
6
+ title?: ReactNode;
7
+ description?: ReactNode;
8
+ resetLabel?: ReactNode;
9
+ side?: ComponentProps<typeof PopoverContent>['side'];
10
+ align?: ComponentProps<typeof PopoverContent>['align'];
11
+ sideOffset?: ComponentProps<typeof PopoverContent>['sideOffset'];
12
+ triggerClassName?: string;
13
+ contentClassName?: string;
14
+ showTheme?: boolean;
15
+ showDensity?: boolean;
16
+ showRadius?: boolean;
17
+ showContainer?: boolean;
18
+ }
19
+ export interface TweakScopeProps extends ComponentPropsWithoutRef<'div'> {
20
+ }
21
+ export declare function TweakScope({ className, ...props }: TweakScopeProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function TweakPanel({ triggerLabel, triggerTitle, title, description, resetLabel, side, align, sideOffset, triggerClassName, contentClassName, showTheme, showDensity, showRadius, showContainer, }: TweakPanelProps): import("react/jsx-runtime").JSX.Element;