@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,172 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import * as l from "react";
3
+ import { cn as r } from "../../../../lib/utils.js";
4
+ import { cva as d } from "class-variance-authority";
5
+ import { Tabs as n } from "radix-ui";
6
+ const m = d("flex items-center shrink-0", {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-accent p-1",
10
+ button: "",
11
+ line: "border-b border-border"
12
+ },
13
+ shape: {
14
+ default: "",
15
+ pill: ""
16
+ },
17
+ size: {
18
+ lg: "gap-2.5",
19
+ md: "gap-2",
20
+ sm: "gap-1.5",
21
+ xs: "gap-1"
22
+ }
23
+ },
24
+ compoundVariants: [
25
+ { variant: "default", size: "lg", className: "p-1.5 gap-2.5" },
26
+ { variant: "default", size: "md", className: "p-1 gap-2" },
27
+ { variant: "default", size: "sm", className: "p-1 gap-1.5" },
28
+ { variant: "default", size: "xs", className: "p-1 gap-1" },
29
+ {
30
+ variant: "default",
31
+ shape: "default",
32
+ size: "lg",
33
+ className: "rounded-lg"
34
+ },
35
+ {
36
+ variant: "default",
37
+ shape: "default",
38
+ size: "md",
39
+ className: "rounded-lg"
40
+ },
41
+ {
42
+ variant: "default",
43
+ shape: "default",
44
+ size: "sm",
45
+ className: "rounded-md"
46
+ },
47
+ {
48
+ variant: "default",
49
+ shape: "default",
50
+ size: "xs",
51
+ className: "rounded-md"
52
+ },
53
+ { variant: "line", size: "lg", className: "gap-9" },
54
+ { variant: "line", size: "md", className: "gap-8" },
55
+ { variant: "line", size: "sm", className: "gap-4" },
56
+ { variant: "line", size: "xs", className: "gap-4" },
57
+ {
58
+ variant: "default",
59
+ shape: "pill",
60
+ className: "rounded-full [&_[role=tab]]:rounded-full"
61
+ },
62
+ {
63
+ variant: "button",
64
+ shape: "pill",
65
+ className: "rounded-full [&_[role=tab]]:rounded-full"
66
+ }
67
+ ],
68
+ defaultVariants: {
69
+ variant: "default",
70
+ size: "md"
71
+ }
72
+ }), c = d(
73
+ "shrink-0 cursor-pointer whitespace-nowrap inline-flex justify-center items-center font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:shrink-0 [&_svg]:text-muted-foreground [&:hover_svg]:text-primary [&[data-state=active]_svg]:text-primary",
74
+ {
75
+ variants: {
76
+ variant: {
77
+ default: "text-muted-foreground data-[state=active]:bg-background hover:text-foreground data-[state=active]:text-foreground data-[state=active]:shadow-xs data-[state=active]:shadow-black/5",
78
+ button: "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-lg text-accent-foreground hover:text-foreground data-[state=active]:bg-accent data-[state=active]:text-foreground",
79
+ line: "border-b-2 text-muted-foreground border-transparent data-[state=active]:border-primary hover:text-primary data-[state=active]:text-primary data-[state=active]:border-primary data-[state=active]:text-primary"
80
+ },
81
+ size: {
82
+ lg: "gap-2.5 [&_svg]:size-5 text-sm",
83
+ md: "gap-2 [&_svg]:size-4 text-sm",
84
+ sm: "gap-1.5 [&_svg]:size-3.5 text-xs",
85
+ xs: "gap-1 [&_svg]:size-3.5 text-xs"
86
+ }
87
+ },
88
+ compoundVariants: [
89
+ { variant: "default", size: "lg", className: "py-2.5 px-4 rounded-md" },
90
+ { variant: "default", size: "md", className: "py-1.5 px-3 rounded-md" },
91
+ { variant: "default", size: "sm", className: "py-1.5 px-2.5 rounded-sm" },
92
+ { variant: "default", size: "xs", className: "py-1 px-2 rounded-sm" },
93
+ { variant: "button", size: "lg", className: "py-3 px-4 rounded-lg" },
94
+ { variant: "button", size: "md", className: "py-2.5 px-3 rounded-lg" },
95
+ { variant: "button", size: "sm", className: "py-2 px-2.5 rounded-md" },
96
+ { variant: "button", size: "xs", className: "py-1.5 px-2 rounded-md" },
97
+ { variant: "line", size: "lg", className: "py-3" },
98
+ { variant: "line", size: "md", className: "py-2.5" },
99
+ { variant: "line", size: "sm", className: "py-2" },
100
+ { variant: "line", size: "xs", className: "py-1.5" }
101
+ ],
102
+ defaultVariants: {
103
+ variant: "default",
104
+ size: "md"
105
+ }
106
+ }
107
+ ), v = d(
108
+ "mt-2.5 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
109
+ {
110
+ variants: {
111
+ variant: {
112
+ default: ""
113
+ }
114
+ },
115
+ defaultVariants: {
116
+ variant: "default"
117
+ }
118
+ }
119
+ ), o = l.createContext({
120
+ variant: "default",
121
+ size: "md"
122
+ });
123
+ function x({ className: e, ...a }) {
124
+ return /* @__PURE__ */ s(n.Root, { "data-slot": "tabs", className: r("", e), ...a });
125
+ }
126
+ function z({
127
+ className: e,
128
+ variant: a = "default",
129
+ shape: t = "default",
130
+ size: i = "md",
131
+ ...u
132
+ }) {
133
+ return /* @__PURE__ */ s(o.Provider, { value: { variant: a || "default", size: i || "md" }, children: /* @__PURE__ */ s(
134
+ n.List,
135
+ {
136
+ "data-slot": "tabs-list",
137
+ className: r(m({ variant: a, shape: t, size: i }), e),
138
+ ...u
139
+ }
140
+ ) });
141
+ }
142
+ function N({ className: e, ...a }) {
143
+ const { variant: t, size: i } = l.useContext(o);
144
+ return /* @__PURE__ */ s(
145
+ n.Trigger,
146
+ {
147
+ "data-slot": "tabs-trigger",
148
+ className: r(c({ variant: t, size: i }), e),
149
+ ...a
150
+ }
151
+ );
152
+ }
153
+ function y({
154
+ className: e,
155
+ variant: a,
156
+ ...t
157
+ }) {
158
+ return /* @__PURE__ */ s(
159
+ n.Content,
160
+ {
161
+ "data-slot": "tabs-content",
162
+ className: r(v({ variant: a }), e),
163
+ ...t
164
+ }
165
+ );
166
+ }
167
+ export {
168
+ x as Tabs,
169
+ y as TabsContent,
170
+ z as TabsList,
171
+ N as TabsTrigger
172
+ };
@@ -0,0 +1 @@
1
+ export declare function ThemeToggle(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,56 @@
1
+ import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
+ import { useSettings as s } from "../../providers/settings-provider.js";
3
+ import { cn as d } from "../../lib/utils.js";
4
+ const n = [
5
+ { value: "glass", label: "活力", dot: "#009ef7" },
6
+ { value: "navy", label: "沉稳", dot: "#2563eb" }
7
+ ];
8
+ function g() {
9
+ const { settings: o, storeOption: l } = s();
10
+ return /* @__PURE__ */ r("div", { className: "theme-toggle px-5 pb-4 pt-3 border-t border-border", children: [
11
+ /* @__PURE__ */ t(
12
+ "div",
13
+ {
14
+ "data-slot": "theme-toggle-label",
15
+ className: "text-[11px] uppercase tracking-wider text-muted-foreground/70 mb-2",
16
+ children: "主题"
17
+ }
18
+ ),
19
+ /* @__PURE__ */ t(
20
+ "div",
21
+ {
22
+ "data-slot": "theme-toggle-grid",
23
+ className: "grid grid-cols-2 gap-1 p-1 bg-muted rounded-md",
24
+ children: n.map((e) => {
25
+ const a = o.theme === e.value;
26
+ return /* @__PURE__ */ r(
27
+ "button",
28
+ {
29
+ type: "button",
30
+ onClick: () => l("theme", e.value),
31
+ title: e.label,
32
+ className: d(
33
+ "flex items-center justify-center gap-1.5 h-8 rounded text-xs font-medium transition-colors",
34
+ a ? "bg-card text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
35
+ ),
36
+ children: [
37
+ /* @__PURE__ */ t(
38
+ "span",
39
+ {
40
+ className: "inline-block size-2.5 rounded-full shrink-0",
41
+ style: { background: e.dot }
42
+ }
43
+ ),
44
+ /* @__PURE__ */ t("span", { "data-slot": "theme-toggle-text", children: e.label })
45
+ ]
46
+ },
47
+ e.value
48
+ );
49
+ })
50
+ }
51
+ )
52
+ ] });
53
+ }
54
+ export {
55
+ g as ThemeToggle
56
+ };
@@ -0,0 +1 @@
1
+ export declare function useChartPalette(): string[];
@@ -0,0 +1,12 @@
1
+ import { useOptionalSettings as s } from "../../providers/settings-provider.js";
2
+ const t = {
3
+ glass: ["#009EF7", "#1BC5BD", "#FFA800", "#8950FC", "#F64E60", "#50CD89"],
4
+ navy: ["#2563eb", "#7c3aed", "#0d9488", "#f97316", "#e11d48", "#0891b2"]
5
+ };
6
+ function a() {
7
+ const e = s()?.settings.theme ?? "glass";
8
+ return t[e] ?? t.glass;
9
+ }
10
+ export {
11
+ a as useChartPalette
12
+ };
@@ -0,0 +1,8 @@
1
+ import { ClassValue } from 'clsx';
2
+ /**
3
+ * Merges Tailwind class names, resolving any conflicts.
4
+ *
5
+ * @param inputs - An array of class names to merge.
6
+ * @returns A string of merged and optimized class names.
7
+ */
8
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,8 @@
1
+ import { clsx as o } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
6
+ export {
7
+ n as cn
8
+ };
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function DemoKitProvider({ children }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { SettingsProvider as i } from "./settings-provider.js";
3
+ import { TooltipsProvider as t } from "./tooltips-provider.js";
4
+ function p({ children: o }) {
5
+ return /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(t, { children: o }) });
6
+ }
7
+ export {
8
+ p as DemoKitProvider
9
+ };
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { Settings } from '../config/types';
3
+ type Path = string;
4
+ type SettingsContextType = {
5
+ getOption: <T = any>(path: Path) => T;
6
+ setOption: <T = any>(path: Path, value: T) => void;
7
+ storeOption: <T = any>(path: Path, value: T) => void;
8
+ settings: Settings;
9
+ };
10
+ export declare const SettingsProvider: React.FC<{
11
+ children: React.ReactNode;
12
+ }>;
13
+ export declare const useSettings: () => SettingsContextType;
14
+ export declare const useOptionalSettings: () => SettingsContextType | undefined;
15
+ export {};
@@ -0,0 +1,78 @@
1
+ import { jsx as O } from "react/jsx-runtime";
2
+ import { useState as v, useEffect as f, useCallback as g, useMemo as E, useContext as y, createContext as w } from "react";
3
+ import { APP_SETTINGS as p } from "../config/settings.config.js";
4
+ const h = w(
5
+ void 0
6
+ ), l = "app_settings_", c = () => typeof window < "u";
7
+ function P(e, t) {
8
+ return t.split(".").reduce((n, s) => n?.[s], e);
9
+ }
10
+ function S(e, t, n) {
11
+ const s = t.split("."), i = s.pop(), u = s.reduce((m, r) => m[r] ??= {}, e);
12
+ return u[i] = n, { ...e };
13
+ }
14
+ function x(e, t) {
15
+ if (c())
16
+ try {
17
+ localStorage.setItem(
18
+ `${l}${e}`,
19
+ JSON.stringify(t)
20
+ );
21
+ } catch (n) {
22
+ console.error("LocalStorage write error:", n);
23
+ }
24
+ }
25
+ function C(e) {
26
+ if (c())
27
+ try {
28
+ const t = localStorage.getItem(`${l}${e}`);
29
+ return t ? JSON.parse(t) : void 0;
30
+ } catch (t) {
31
+ console.error("LocalStorage read error:", t);
32
+ return;
33
+ }
34
+ }
35
+ const T = ({
36
+ children: e
37
+ }) => {
38
+ const [t, n] = v(
39
+ structuredClone(p)
40
+ );
41
+ f(() => {
42
+ if (!c()) return;
43
+ const r = structuredClone(p);
44
+ Object.keys(localStorage).filter((o) => o.startsWith(l)).forEach((o) => {
45
+ const a = o.replace(l, ""), d = C(a);
46
+ d !== void 0 && S(r, a, d);
47
+ }), n(r);
48
+ }, []), f(() => {
49
+ c() && (document.documentElement.dataset.theme = t.theme);
50
+ }, [t.theme]), f(() => {
51
+ c() && (document.documentElement.dataset.density = t.appearance?.density ?? p.appearance.density, document.documentElement.dataset.radius = t.appearance?.radius ?? p.appearance.radius);
52
+ }, [t.appearance?.density, t.appearance?.radius]);
53
+ const s = g(
54
+ (r) => P(t, r),
55
+ [t]
56
+ ), i = g((r, o) => {
57
+ n((a) => S({ ...a }, r, o));
58
+ }, []), u = g((r, o) => {
59
+ n((a) => {
60
+ const d = S({ ...a }, r, o);
61
+ return x(r, o), d;
62
+ });
63
+ }, []), m = E(
64
+ () => ({ getOption: s, setOption: i, storeOption: u, settings: t }),
65
+ [s, i, u, t]
66
+ );
67
+ return /* @__PURE__ */ O(h.Provider, { value: m, children: e });
68
+ }, $ = () => {
69
+ const e = y(h);
70
+ if (!e)
71
+ throw new Error("useSettings must be used within a SettingsProvider");
72
+ return e;
73
+ }, b = () => y(h);
74
+ export {
75
+ T as SettingsProvider,
76
+ b as useOptionalSettings,
77
+ $ as useSettings
78
+ };
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function ThemeProvider({ children, }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as e, Fragment as o } from "react/jsx-runtime";
2
+ function m({
3
+ children: r
4
+ }) {
5
+ return /* @__PURE__ */ e(o, { children: r });
6
+ }
7
+ export {
8
+ m as ThemeProvider
9
+ };
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function TooltipsProvider({ children }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { TooltipProvider as i } from "../kit/components/feedback/tooltip/tooltip.js";
3
+ function p({ children: o }) {
4
+ return /* @__PURE__ */ r(i, { delayDuration: 0, children: o });
5
+ }
6
+ export {
7
+ p as TooltipsProvider
8
+ };
@@ -0,0 +1,237 @@
1
+ /* Tailwind Core */
2
+ @import 'tailwindcss';
3
+
4
+ /* ReUI Configs */
5
+ @import './config.reui.css';
6
+
7
+ /** Global Styles **/
8
+ @layer base {
9
+ * {
10
+ @apply border-border;
11
+ }
12
+
13
+ *:focus-visible {
14
+ @apply outline-ring rounded-xs shadow-none outline-2 outline-offset-3 transition-none!;
15
+ }
16
+
17
+ /* Override html/body h-full so window can scroll naturally */
18
+ html.h-full,
19
+ body.h-full {
20
+ height: auto;
21
+ min-height: 100%;
22
+ }
23
+
24
+ body {
25
+ background: var(--background);
26
+ color: var(--foreground);
27
+ }
28
+
29
+ #showcase-root {
30
+ min-width: 0;
31
+ width: 100%;
32
+ }
33
+ }
34
+
35
+ /* Kept component styles */
36
+ @import './components/apexcharts.css';
37
+ @import './components/scrollable.css';
38
+
39
+ /* Demos */
40
+ @import './demos/demo1.css';
41
+
42
+ /**
43
+ * Theme-aware surface.
44
+ * Glass theme → translucent + backdrop blur + hairline white border
45
+ * Navy theme → solid white + 1px slate border + no blur
46
+ * Use on Cards that need to sit above the decorative backdrop.
47
+ *
48
+ * NOT wrapped in @layer so it overrides Card's default `border-border`
49
+ * (which lives in Tailwind's utilities layer).
50
+ */
51
+ .card-surface {
52
+ background: var(--surface-bg);
53
+ border-color: var(--surface-border);
54
+ border-radius: var(--dk-radius-card);
55
+ box-shadow: var(--surface-shadow);
56
+ backdrop-filter: blur(var(--surface-blur));
57
+ -webkit-backdrop-filter: blur(var(--surface-blur));
58
+ }
59
+
60
+ [data-slot='card'],
61
+ [data-slot='popover-content'],
62
+ [data-slot='dialog-content'],
63
+ [data-slot='sheet-content'],
64
+ [data-slot='drawer-content'] {
65
+ border-radius: var(--dk-radius-card);
66
+ }
67
+
68
+ [data-slot='table-head'] {
69
+ height: var(--dk-table-head-height);
70
+ padding-inline: var(--dk-table-cell-x);
71
+ }
72
+
73
+ [data-slot='table-cell'] {
74
+ padding: var(--dk-table-cell-y) var(--dk-table-cell-x);
75
+ }
76
+
77
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='container'] {
78
+ row-gap: var(--dk-page-gap);
79
+ padding-inline: var(--dk-container-x);
80
+ }
81
+
82
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='metric-card'],
83
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='summary-card'],
84
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='chart-card'],
85
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='data-section'],
86
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='filter-panel'] {
87
+ min-width: 0;
88
+ }
89
+
90
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='page-header'] {
91
+ display: flex;
92
+ flex-direction: column;
93
+ gap: var(--dk-page-gap);
94
+ }
95
+
96
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='page-header']
97
+ > :not([hidden])
98
+ ~ :not([hidden]) {
99
+ margin-top: 0 !important;
100
+ }
101
+
102
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='filter-panel'] {
103
+ padding: var(--dk-filter-padding);
104
+ }
105
+
106
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='filter-panel-body'],
107
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='filter-panel-grid'] {
108
+ gap: var(--dk-filter-gap);
109
+ }
110
+
111
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='filter-panel-footer'] {
112
+ margin-top: var(--dk-filter-gap);
113
+ padding-top: var(--dk-filter-gap);
114
+ }
115
+
116
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='input'],
117
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='input-wrapper'],
118
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='select-trigger'],
119
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='toggle-group'],
120
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='toggle-group-item'] {
121
+ border-radius: var(--dk-radius-control);
122
+ }
123
+
124
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='input'],
125
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='input-wrapper'],
126
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='select-trigger'],
127
+ :where(.demo-tweak-scope, .demokit-tweak-scope) [data-slot='toggle-group-item'] {
128
+ height: var(--dk-control-height);
129
+ }
130
+
131
+ .demokit-native-date-input {
132
+ position: relative;
133
+ }
134
+
135
+ .demokit-native-date-input::-webkit-calendar-picker-indicator {
136
+ position: absolute;
137
+ inset-inline-end: 0;
138
+ top: 0;
139
+ width: 2.5rem;
140
+ height: 100%;
141
+ margin: 0;
142
+ cursor: pointer;
143
+ opacity: 0;
144
+ }
145
+
146
+ .demokit-native-date-input::-webkit-inner-spin-button,
147
+ .demokit-native-date-input::-webkit-clear-button {
148
+ display: none;
149
+ }
150
+
151
+ /* Markdown viewer — minimal typographic defaults */
152
+ .kit-markdown h1 {
153
+ font-size: 1.6rem;
154
+ font-weight: 700;
155
+ letter-spacing: -0.01em;
156
+ margin: 1.5rem 0 1rem;
157
+ color: var(--foreground);
158
+ }
159
+ .kit-markdown h2 {
160
+ font-size: 1.25rem;
161
+ font-weight: 700;
162
+ margin: 1.5rem 0 0.75rem;
163
+ color: var(--foreground);
164
+ padding-bottom: 0.4rem;
165
+ border-bottom: 1px solid var(--border);
166
+ }
167
+ .kit-markdown h3 {
168
+ font-size: 1rem;
169
+ font-weight: 600;
170
+ margin: 1.25rem 0 0.5rem;
171
+ color: var(--foreground);
172
+ }
173
+ .kit-markdown p {
174
+ margin: 0.5rem 0;
175
+ }
176
+ .kit-markdown blockquote {
177
+ border-left: 3px solid var(--primary);
178
+ padding: 0.5rem 0.9rem;
179
+ margin: 0.75rem 0;
180
+ background: color-mix(in srgb, var(--primary) 6%, transparent);
181
+ color: var(--muted-foreground);
182
+ border-radius: 0 6px 6px 0;
183
+ }
184
+ .kit-markdown ul, .kit-markdown ol {
185
+ padding-inline-start: 1.5rem;
186
+ margin: 0.5rem 0;
187
+ }
188
+ .kit-markdown li { margin: 0.25rem 0; }
189
+ .kit-markdown li > ul, .kit-markdown li > ol { margin: 0.25rem 0; }
190
+ .kit-markdown code {
191
+ font-family: var(--font-mono, "SF Mono", "Menlo", monospace);
192
+ background: var(--muted);
193
+ padding: 0.12rem 0.4rem;
194
+ border-radius: 4px;
195
+ font-size: 0.85em;
196
+ color: var(--foreground);
197
+ }
198
+ .kit-markdown pre {
199
+ background: var(--muted);
200
+ padding: 0.9rem 1rem;
201
+ border-radius: 8px;
202
+ overflow-x: auto;
203
+ margin: 0.75rem 0;
204
+ border: 1px solid var(--border);
205
+ }
206
+ .kit-markdown pre code {
207
+ background: transparent;
208
+ padding: 0;
209
+ font-size: 12.5px;
210
+ line-height: 1.55;
211
+ }
212
+ .kit-markdown table {
213
+ border-collapse: collapse;
214
+ margin: 0.75rem 0;
215
+ font-size: 13px;
216
+ width: 100%;
217
+ }
218
+ .kit-markdown thead { background: var(--muted); }
219
+ .kit-markdown th, .kit-markdown td {
220
+ border: 1px solid var(--border);
221
+ padding: 0.5rem 0.75rem;
222
+ text-align: left;
223
+ }
224
+ .kit-markdown a {
225
+ color: var(--primary);
226
+ text-decoration: none;
227
+ border-bottom: 1px solid transparent;
228
+ }
229
+ .kit-markdown a:hover {
230
+ border-bottom-color: var(--primary);
231
+ }
232
+ .kit-markdown hr {
233
+ border: none;
234
+ border-top: 1px solid var(--border);
235
+ margin: 1.5rem 0;
236
+ }
237
+ .kit-markdown strong { color: var(--foreground); font-weight: 600; }