@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,29 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { cn as o } from "../../../../lib/utils.js";
3
+ import { Progress as s } from "radix-ui";
4
+ function d({
5
+ className: l,
6
+ indicatorClassName: t,
7
+ value: a,
8
+ ...e
9
+ }) {
10
+ return /* @__PURE__ */ r(
11
+ s.Root,
12
+ {
13
+ "data-slot": "progress",
14
+ className: o("relative h-2 w-full overflow-hidden rounded-full bg-secondary", l),
15
+ ...e,
16
+ children: /* @__PURE__ */ r(
17
+ s.Indicator,
18
+ {
19
+ "data-slot": "progress-indicator",
20
+ className: o("h-full w-full flex-1 bg-primary transition-all", t),
21
+ style: { transform: `translateX(-${100 - (a || 0)}%)` }
22
+ }
23
+ )
24
+ }
25
+ );
26
+ }
27
+ export {
28
+ d as Progress
29
+ };
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function Skeleton({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
3
+ export { Skeleton };
@@ -0,0 +1,8 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { cn as n } from "../../../../lib/utils.js";
3
+ function m({ className: e, ...t }) {
4
+ return /* @__PURE__ */ o("div", { "data-slot": "skeleton", className: n("animate-pulse rounded-md bg-accent", e), ...t });
5
+ }
6
+ export {
7
+ m as Skeleton
8
+ };
@@ -0,0 +1,7 @@
1
+ interface SlidingNumberProps {
2
+ number: number;
3
+ className?: string;
4
+ padStart?: number;
5
+ }
6
+ export declare function SlidingNumber({ number, className, padStart }: SlidingNumberProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,41 @@
1
+ import { jsxs as c, jsx as a } from "react/jsx-runtime";
2
+ import { useEffect as m } from "react";
3
+ import { useMotionValue as f, animate as u, useTransform as h, motion as p } from "motion/react";
4
+ import { cn as d } from "../../../../lib/utils.js";
5
+ function v({ number: o, className: r, padStart: n = 0 }) {
6
+ const t = Math.abs(Math.round(o)), s = Math.max(n, t === 0 ? 1 : Math.floor(Math.log10(t)) + 1), e = Array.from({ length: s }, (i, l) => Math.pow(10, s - l - 1));
7
+ return /* @__PURE__ */ c("span", { className: d("inline-flex items-center tabular-nums leading-none", r), children: [
8
+ o < 0 && /* @__PURE__ */ a("span", { className: "mr-[0.1em]", children: "-" }),
9
+ e.map((i) => /* @__PURE__ */ a(g, { place: i, value: t }, i))
10
+ ] });
11
+ }
12
+ function g({ place: o, value: r }) {
13
+ const n = Math.floor(r / o), t = f(n);
14
+ return m(() => {
15
+ const s = u(t, n, {
16
+ type: "spring",
17
+ mass: 0.8,
18
+ stiffness: 75,
19
+ damping: 15
20
+ });
21
+ return () => s.stop();
22
+ }, [t, n]), /* @__PURE__ */ a("span", { className: "relative inline-block w-[1ch] h-[1em] overflow-hidden", children: Array.from({ length: 10 }, (s, e) => /* @__PURE__ */ a(M, { mv: t, digit: e }, e)) });
23
+ }
24
+ function M({ mv: o, digit: r }) {
25
+ const n = h(o, (t) => {
26
+ const s = t % 10;
27
+ let e = (10 + r - s) % 10;
28
+ return e > 5 && (e -= 10), `${e * 100}%`;
29
+ });
30
+ return /* @__PURE__ */ a(
31
+ p.span,
32
+ {
33
+ style: { y: n },
34
+ className: "absolute inset-0 flex items-center justify-center",
35
+ children: r
36
+ }
37
+ );
38
+ }
39
+ export {
40
+ v as SlidingNumber
41
+ };
@@ -0,0 +1,61 @@
1
+ import * as React from 'react';
2
+ type StepperOrientation = 'horizontal' | 'vertical';
3
+ type StepState = 'active' | 'completed' | 'inactive' | 'loading';
4
+ type StepIndicators = {
5
+ active?: React.ReactNode;
6
+ completed?: React.ReactNode;
7
+ inactive?: React.ReactNode;
8
+ loading?: React.ReactNode;
9
+ };
10
+ interface StepperContextValue {
11
+ activeStep: number;
12
+ setActiveStep: (step: number) => void;
13
+ stepsCount: number;
14
+ orientation: StepperOrientation;
15
+ registerTrigger: (node: HTMLButtonElement | null) => void;
16
+ triggerNodes: HTMLButtonElement[];
17
+ focusNext: (currentIdx: number) => void;
18
+ focusPrev: (currentIdx: number) => void;
19
+ focusFirst: () => void;
20
+ focusLast: () => void;
21
+ indicators: StepIndicators;
22
+ }
23
+ interface StepItemContextValue {
24
+ step: number;
25
+ state: StepState;
26
+ isDisabled: boolean;
27
+ isLoading: boolean;
28
+ }
29
+ declare function useStepper(): StepperContextValue;
30
+ declare function useStepItem(): StepItemContextValue;
31
+ interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
32
+ defaultValue?: number;
33
+ value?: number;
34
+ onValueChange?: (value: number) => void;
35
+ orientation?: StepperOrientation;
36
+ indicators?: StepIndicators;
37
+ }
38
+ declare function Stepper({ defaultValue, value, onValueChange, orientation, className, children, indicators, ...props }: StepperProps): import("react/jsx-runtime").JSX.Element;
39
+ interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {
40
+ step: number;
41
+ completed?: boolean;
42
+ disabled?: boolean;
43
+ loading?: boolean;
44
+ }
45
+ declare function StepperItem({ step, completed, disabled, loading, className, children, ...props }: StepperItemProps): import("react/jsx-runtime").JSX.Element;
46
+ interface StepperTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
47
+ asChild?: boolean;
48
+ }
49
+ declare function StepperTrigger({ asChild, className, children, tabIndex, ...props }: StepperTriggerProps): import("react/jsx-runtime").JSX.Element;
50
+ declare function StepperIndicator({ children, className }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
51
+ declare function StepperSeparator({ className }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
52
+ declare function StepperTitle({ children, className }: React.ComponentProps<'h3'>): import("react/jsx-runtime").JSX.Element;
53
+ declare function StepperDescription({ children, className }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
54
+ declare function StepperNav({ children, className }: React.ComponentProps<'nav'>): import("react/jsx-runtime").JSX.Element;
55
+ declare function StepperPanel({ children, className }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
56
+ interface StepperContentProps extends React.ComponentProps<'div'> {
57
+ value: number;
58
+ forceMount?: boolean;
59
+ }
60
+ declare function StepperContent({ value, forceMount, children, className }: StepperContentProps): import("react/jsx-runtime").JSX.Element | null;
61
+ export { useStepper, useStepItem, Stepper, StepperItem, StepperTrigger, StepperIndicator, StepperSeparator, StepperTitle, StepperDescription, StepperPanel, StepperContent, StepperNav, type StepperProps, type StepperItemProps, type StepperTriggerProps, type StepperContentProps, };
@@ -0,0 +1,230 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import * as p from "react";
3
+ import { useContext as E, createContext as L } from "react";
4
+ import { cn as d } from "../../../../lib/utils.js";
5
+ const T = L(void 0), P = L(void 0);
6
+ function x() {
7
+ const t = E(T);
8
+ if (!t) throw new Error("useStepper must be used within a Stepper");
9
+ return t;
10
+ }
11
+ function y() {
12
+ const t = E(P);
13
+ if (!t) throw new Error("useStepItem must be used within a StepperItem");
14
+ return t;
15
+ }
16
+ function K({
17
+ defaultValue: t = 1,
18
+ value: a,
19
+ onValueChange: r,
20
+ orientation: n = "horizontal",
21
+ className: s,
22
+ children: o,
23
+ indicators: b = {},
24
+ ...f
25
+ }) {
26
+ const [m, S] = p.useState(t), [c, k] = p.useState([]), h = p.useCallback((e) => {
27
+ k((l) => e && !l.includes(e) ? [...l, e] : !e && l.includes(e) ? l.filter((z) => z !== e) : l);
28
+ }, []), w = p.useCallback(
29
+ (e) => {
30
+ a === void 0 && S(e), r?.(e);
31
+ },
32
+ [a, r]
33
+ ), N = a ?? m, g = (e) => {
34
+ c[e] && c[e].focus();
35
+ }, v = (e) => g((e + 1) % c.length), A = (e) => g((e - 1 + c.length) % c.length), D = () => g(0), C = () => g(c.length - 1), I = p.useMemo(
36
+ () => ({
37
+ activeStep: N,
38
+ setActiveStep: w,
39
+ stepsCount: p.Children.toArray(o).filter(
40
+ (e) => p.isValidElement(e) && e.type.displayName === "StepperItem"
41
+ ).length,
42
+ orientation: n,
43
+ registerTrigger: h,
44
+ focusNext: v,
45
+ focusPrev: A,
46
+ focusFirst: D,
47
+ focusLast: C,
48
+ triggerNodes: c,
49
+ indicators: b
50
+ }),
51
+ [N, w, o, n, h, c]
52
+ );
53
+ return /* @__PURE__ */ i(T.Provider, { value: I, children: /* @__PURE__ */ i(
54
+ "div",
55
+ {
56
+ role: "tablist",
57
+ "aria-orientation": n,
58
+ "data-slot": "stepper",
59
+ className: d(
60
+ "group/stepper flex w-full",
61
+ n === "horizontal" ? "flex-row items-center" : "flex-col items-start",
62
+ s
63
+ ),
64
+ "data-orientation": n,
65
+ ...f,
66
+ children: o
67
+ }
68
+ ) });
69
+ }
70
+ function $({
71
+ step: t,
72
+ completed: a = !1,
73
+ disabled: r = !1,
74
+ loading: n = !1,
75
+ className: s,
76
+ children: o,
77
+ ...b
78
+ }) {
79
+ const { activeStep: f } = x(), m = a || t < f ? "completed" : f === t ? "active" : "inactive", S = n && t === f;
80
+ return /* @__PURE__ */ i(P.Provider, { value: { step: t, state: m, isDisabled: r, isLoading: S }, children: /* @__PURE__ */ i(
81
+ "div",
82
+ {
83
+ "data-slot": "stepper-item",
84
+ className: d(
85
+ "group/step flex items-center justify-center group-data-[orientation=vertical]/stepper:flex-col",
86
+ s
87
+ ),
88
+ "data-state": m,
89
+ ...S ? { "data-loading": !0 } : {},
90
+ ...b,
91
+ children: o
92
+ }
93
+ ) });
94
+ }
95
+ function H({ asChild: t = !1, className: a, children: r, tabIndex: n, ...s }) {
96
+ const { state: o, isLoading: b } = y(), f = x(), { setActiveStep: m, activeStep: S, registerTrigger: c, triggerNodes: k, focusNext: h, focusPrev: w, focusFirst: N, focusLast: g } = f, { step: v, isDisabled: A } = y(), D = S === v, C = `stepper-tab-${v}`, I = `stepper-panel-${v}`, e = p.useRef(null);
97
+ p.useEffect(() => {
98
+ e.current && c(e.current);
99
+ }, [e.current]);
100
+ const l = p.useMemo(
101
+ () => k.findIndex((u) => u === e.current),
102
+ [k, e.current]
103
+ ), z = (u) => {
104
+ switch (u.key) {
105
+ case "ArrowRight":
106
+ case "ArrowDown":
107
+ u.preventDefault(), l !== -1 && h && h(l);
108
+ break;
109
+ case "ArrowLeft":
110
+ case "ArrowUp":
111
+ u.preventDefault(), l !== -1 && w && w(l);
112
+ break;
113
+ case "Home":
114
+ u.preventDefault(), N && N();
115
+ break;
116
+ case "End":
117
+ u.preventDefault(), g && g();
118
+ break;
119
+ case "Enter":
120
+ case " ":
121
+ u.preventDefault(), m(v);
122
+ break;
123
+ }
124
+ };
125
+ return t ? /* @__PURE__ */ i("span", { "data-slot": "stepper-trigger", "data-state": o, className: a, children: r }) : /* @__PURE__ */ i(
126
+ "button",
127
+ {
128
+ ref: e,
129
+ role: "tab",
130
+ id: C,
131
+ "aria-selected": D,
132
+ "aria-controls": I,
133
+ tabIndex: typeof n == "number" ? n : D ? 0 : -1,
134
+ "data-slot": "stepper-trigger",
135
+ "data-state": o,
136
+ "data-loading": b,
137
+ className: d(
138
+ "cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 inline-flex items-center gap-3 rounded-full outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-60",
139
+ a
140
+ ),
141
+ onClick: () => m(v),
142
+ onKeyDown: z,
143
+ disabled: A,
144
+ ...s,
145
+ children: r
146
+ }
147
+ );
148
+ }
149
+ function U({ children: t, className: a }) {
150
+ const { state: r, isLoading: n } = y(), { indicators: s } = x();
151
+ return /* @__PURE__ */ i(
152
+ "div",
153
+ {
154
+ "data-slot": "stepper-indicator",
155
+ "data-state": r,
156
+ className: d(
157
+ "relative flex items-center overflow-hidden justify-center size-6 shrink-0 border-background bg-accent text-accent-foreground rounded-full text-xs data-[state=completed]:bg-primary data-[state=completed]:text-primary-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
158
+ a
159
+ ),
160
+ children: /* @__PURE__ */ i("div", { className: "absolute", children: s && (n && s.loading || r === "completed" && s.completed || r === "active" && s.active || r === "inactive" && s.inactive) ? n && s.loading || r === "completed" && s.completed || r === "active" && s.active || r === "inactive" && s.inactive : t })
161
+ }
162
+ );
163
+ }
164
+ function V({ className: t }) {
165
+ return /* @__PURE__ */ i(
166
+ "div",
167
+ {
168
+ "data-slot": "stepper-separator",
169
+ className: d(
170
+ "mx-2 rounded-full bg-muted group-data-[orientation=horizontal]/stepper:h-0.5 group-data-[orientation=horizontal]/stepper:flex-1 group-data-[orientation=vertical]/stepper:h-12 group-data-[orientation=vertical]/stepper:w-0.5",
171
+ t
172
+ )
173
+ }
174
+ );
175
+ }
176
+ function q({ children: t, className: a }) {
177
+ const { state: r } = y();
178
+ return /* @__PURE__ */ i("h3", { "data-slot": "stepper-title", "data-state": r, className: d("text-sm font-medium leading-none", a), children: t });
179
+ }
180
+ function B({ children: t, className: a }) {
181
+ const { state: r } = y();
182
+ return /* @__PURE__ */ i("div", { "data-slot": "stepper-description", "data-state": r, className: d("text-sm text-muted-foreground", a), children: t });
183
+ }
184
+ function G({ children: t, className: a }) {
185
+ const { activeStep: r, orientation: n } = x();
186
+ return /* @__PURE__ */ i(
187
+ "nav",
188
+ {
189
+ "data-slot": "stepper-nav",
190
+ "data-state": r,
191
+ "data-orientation": n,
192
+ className: d(
193
+ "group/stepper-nav inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col",
194
+ a
195
+ ),
196
+ children: t
197
+ }
198
+ );
199
+ }
200
+ function J({ children: t, className: a }) {
201
+ const { activeStep: r } = x();
202
+ return /* @__PURE__ */ i("div", { "data-slot": "stepper-panel", "data-state": r, className: d("w-full", a), children: t });
203
+ }
204
+ function M({ value: t, forceMount: a, children: r, className: n }) {
205
+ const { activeStep: s } = x(), o = t === s;
206
+ return !a && !o ? null : /* @__PURE__ */ i(
207
+ "div",
208
+ {
209
+ "data-slot": "stepper-content",
210
+ "data-state": s,
211
+ className: d("w-full", n, !o && a && "hidden"),
212
+ hidden: !o && a,
213
+ children: r
214
+ }
215
+ );
216
+ }
217
+ export {
218
+ K as Stepper,
219
+ M as StepperContent,
220
+ B as StepperDescription,
221
+ U as StepperIndicator,
222
+ $ as StepperItem,
223
+ G as StepperNav,
224
+ J as StepperPanel,
225
+ V as StepperSeparator,
226
+ q as StepperTitle,
227
+ H as StepperTrigger,
228
+ y as useStepItem,
229
+ x as useStepper
230
+ };
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ type TableSortDirection = 'asc' | 'desc' | null | undefined;
3
+ type TableStickySide = 'left' | 'right';
4
+ type TableSortableHeadProps = React.ThHTMLAttributes<HTMLTableCellElement> & {
5
+ direction?: TableSortDirection;
6
+ onSort?: React.MouseEventHandler<HTMLButtonElement>;
7
+ align?: 'left' | 'center' | 'right';
8
+ iconClassName?: string;
9
+ };
10
+ type TableStickyOptions = {
11
+ side?: TableStickySide;
12
+ offset?: number | string;
13
+ showDivider?: boolean;
14
+ };
15
+ type TableStickyHeadProps = React.ThHTMLAttributes<HTMLTableCellElement> & TableStickyOptions;
16
+ type TableStickyCellProps = React.TdHTMLAttributes<HTMLTableCellElement> & TableStickyOptions;
17
+ declare function Table({ className, ...props }: React.HTMLAttributes<HTMLTableElement>): import("react/jsx-runtime").JSX.Element;
18
+ declare function TableHeader({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): import("react/jsx-runtime").JSX.Element;
19
+ declare function TableBody({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): import("react/jsx-runtime").JSX.Element;
20
+ declare function TableFooter({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): import("react/jsx-runtime").JSX.Element;
21
+ declare function TableRow({ className, ...props }: React.HTMLAttributes<HTMLTableRowElement>): import("react/jsx-runtime").JSX.Element;
22
+ declare function TableHead({ className, ...props }: React.ThHTMLAttributes<HTMLTableCellElement>): import("react/jsx-runtime").JSX.Element;
23
+ declare function TableCell({ className, ...props }: React.TdHTMLAttributes<HTMLTableCellElement>): import("react/jsx-runtime").JSX.Element;
24
+ declare function TableSortableHead({ className, children, direction, onSort, align, iconClassName, ...props }: TableSortableHeadProps): import("react/jsx-runtime").JSX.Element;
25
+ declare function TableStickyHead({ className, side, offset, showDivider, style, ...props }: TableStickyHeadProps): import("react/jsx-runtime").JSX.Element;
26
+ declare function TableStickyCell({ className, side, offset, showDivider, style, ...props }: TableStickyCellProps): import("react/jsx-runtime").JSX.Element;
27
+ declare function TableCaption({ className, ...props }: React.HTMLAttributes<HTMLTableCaptionElement>): import("react/jsx-runtime").JSX.Element;
28
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TableSortableHead, TableStickyCell, TableStickyHead, type TableSortDirection, };
@@ -0,0 +1,156 @@
1
+ import { jsx as a, jsxs as f } from "react/jsx-runtime";
2
+ import { cn as r } from "../../../../lib/utils.js";
3
+ import { ArrowUp as m, ArrowDown as p, ArrowUpDown as g } from "lucide-react";
4
+ function w({ className: t, ...e }) {
5
+ return /* @__PURE__ */ a("div", { "data-slot": "table-wrapper", className: "relative w-full overflow-auto", children: /* @__PURE__ */ a("table", { "data-slot": "table", className: r("w-full caption-bottom text-foreground text-sm", t), ...e }) });
6
+ }
7
+ function T({ className: t, ...e }) {
8
+ return /* @__PURE__ */ a("thead", { "data-slot": "table-header", className: r("[&_tr]:border-b", t), ...e });
9
+ }
10
+ function k({ className: t, ...e }) {
11
+ return /* @__PURE__ */ a("tbody", { "data-slot": "table-body", className: r("[&_tr:last-child]:border-0", t), ...e });
12
+ }
13
+ function v({ className: t, ...e }) {
14
+ return /* @__PURE__ */ a(
15
+ "tfoot",
16
+ {
17
+ "data-slot": "table-footer",
18
+ className: r("border-t bg-muted/50 font-medium last:[&>tr]:border-b-0", t),
19
+ ...e
20
+ }
21
+ );
22
+ }
23
+ function S({ className: t, ...e }) {
24
+ return /* @__PURE__ */ a(
25
+ "tr",
26
+ {
27
+ "data-slot": "table-row",
28
+ className: r(
29
+ "border-b transition-colors [&:has(td):hover]:bg-muted/50 data-[state=selected]:bg-muted",
30
+ t
31
+ ),
32
+ ...e
33
+ }
34
+ );
35
+ }
36
+ function c({ className: t, ...e }) {
37
+ return /* @__PURE__ */ a(
38
+ "th",
39
+ {
40
+ "data-slot": "table-head",
41
+ className: r(
42
+ "h-12 px-4 text-left rtl:text-right align-middle font-normal text-muted-foreground [&:has([role=checkbox])]:pe-0",
43
+ t
44
+ ),
45
+ ...e
46
+ }
47
+ );
48
+ }
49
+ function h({ className: t, ...e }) {
50
+ return /* @__PURE__ */ a("td", { "data-slot": "table-cell", className: r("p-4 align-middle [&:has([role=checkbox])]:pe-0", t), ...e });
51
+ }
52
+ function C({
53
+ className: t,
54
+ children: e,
55
+ direction: o,
56
+ onSort: l,
57
+ align: n = "left",
58
+ iconClassName: s,
59
+ ...d
60
+ }) {
61
+ const u = o === "asc" ? m : o === "desc" ? p : g;
62
+ return /* @__PURE__ */ a(
63
+ c,
64
+ {
65
+ "aria-sort": o === "asc" ? "ascending" : o === "desc" ? "descending" : "none",
66
+ className: r(
67
+ n === "center" && "text-center",
68
+ n === "right" && "text-right",
69
+ t
70
+ ),
71
+ ...d,
72
+ children: /* @__PURE__ */ f(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ onClick: l,
77
+ disabled: !l,
78
+ className: r(
79
+ "inline-flex h-8 max-w-full items-center gap-1.5 rounded-sm text-inherit transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50",
80
+ n === "center" && "justify-center",
81
+ n === "right" && "justify-end"
82
+ ),
83
+ children: [
84
+ /* @__PURE__ */ a("span", { className: "min-w-0 truncate", children: e }),
85
+ /* @__PURE__ */ a(u, { className: r("size-3.5 shrink-0 text-muted-foreground", s), "aria-hidden": "true" })
86
+ ]
87
+ }
88
+ )
89
+ }
90
+ );
91
+ }
92
+ function i(t, e, o) {
93
+ return e === void 0 ? o : {
94
+ ...o,
95
+ [t]: typeof e == "number" ? `${e}px` : e
96
+ };
97
+ }
98
+ function b(t, e) {
99
+ return t === "left" ? r(
100
+ 'sticky left-0 bg-card after:absolute after:inset-y-0 after:-right-px after:w-px after:content-[""]',
101
+ e ? "after:bg-border" : "after:bg-transparent"
102
+ ) : r(
103
+ 'sticky right-0 bg-card before:absolute before:inset-y-0 before:-left-px before:w-px before:content-[""]',
104
+ e ? "before:bg-border" : "before:bg-transparent"
105
+ );
106
+ }
107
+ function j({
108
+ className: t,
109
+ side: e = "left",
110
+ offset: o,
111
+ showDivider: l = !1,
112
+ style: n,
113
+ ...s
114
+ }) {
115
+ return /* @__PURE__ */ a(
116
+ c,
117
+ {
118
+ className: r("z-30", b(e, l), t),
119
+ style: i(e, o, n),
120
+ ...s
121
+ }
122
+ );
123
+ }
124
+ function H({
125
+ className: t,
126
+ side: e = "left",
127
+ offset: o,
128
+ showDivider: l = !1,
129
+ style: n,
130
+ ...s
131
+ }) {
132
+ return /* @__PURE__ */ a(
133
+ h,
134
+ {
135
+ className: r("z-20", b(e, l), t),
136
+ style: i(e, o, n),
137
+ ...s
138
+ }
139
+ );
140
+ }
141
+ function z({ className: t, ...e }) {
142
+ return /* @__PURE__ */ a("caption", { "data-slot": "table-caption", className: r("mt-4 text-sm text-muted-foreground", t), ...e });
143
+ }
144
+ export {
145
+ w as Table,
146
+ k as TableBody,
147
+ z as TableCaption,
148
+ h as TableCell,
149
+ v as TableFooter,
150
+ c as TableHead,
151
+ T as TableHeader,
152
+ S as TableRow,
153
+ C as TableSortableHead,
154
+ H as TableStickyCell,
155
+ j as TableStickyHead
156
+ };
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Soft blue gradient blobs.
4
+ * Absolute-positioned, fills its nearest positioned ancestor.
5
+ * Use for glassmorphism pages where translucent cards need a light tint.
6
+ */
7
+ export declare function AuroraBackground({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,60 @@
1
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
2
+ import { cn as l } from "../../../../lib/utils.js";
3
+ function d({
4
+ className: r,
5
+ ...e
6
+ }) {
7
+ return /* @__PURE__ */ t(
8
+ "div",
9
+ {
10
+ "aria-hidden": !0,
11
+ "data-slot": "aurora-background",
12
+ className: l(
13
+ "absolute inset-0 pointer-events-none overflow-hidden",
14
+ r
15
+ ),
16
+ ...e,
17
+ children: [
18
+ /* @__PURE__ */ a(
19
+ "div",
20
+ {
21
+ className: "absolute inset-0",
22
+ style: {
23
+ background: "linear-gradient(135deg, rgba(14,165,233,0.08) 0%, rgba(37,99,235,0.07) 44%, rgba(255,255,255,0) 78%)"
24
+ }
25
+ }
26
+ ),
27
+ /* @__PURE__ */ a(
28
+ "div",
29
+ {
30
+ className: "absolute -top-44 -left-28 size-[520px] rounded-full blur-3xl",
31
+ style: {
32
+ background: "radial-gradient(circle at 30% 30%, rgba(0,158,247,0.18), transparent 72%)"
33
+ }
34
+ }
35
+ ),
36
+ /* @__PURE__ */ a(
37
+ "div",
38
+ {
39
+ className: "absolute -top-48 right-[-8%] size-[600px] rounded-full blur-3xl",
40
+ style: {
41
+ background: "radial-gradient(circle at 70% 30%, rgba(37,99,235,0.14), transparent 72%)"
42
+ }
43
+ }
44
+ ),
45
+ /* @__PURE__ */ a(
46
+ "div",
47
+ {
48
+ className: "absolute bottom-[-18%] left-[18%] size-[560px] rounded-full blur-3xl",
49
+ style: {
50
+ background: "radial-gradient(circle at 50% 50%, rgba(59,130,246,0.1), transparent 74%)"
51
+ }
52
+ }
53
+ )
54
+ ]
55
+ }
56
+ );
57
+ }
58
+ export {
59
+ d as AuroraBackground
60
+ };
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ type GridFade = 'bottom' | 'top' | 'radial' | 'none';
3
+ interface GridBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /** Cell size in px. Default 44. */
5
+ size?: number;
6
+ /** Line color. Default blue-500 at ~8% opacity. */
7
+ color?: string;
8
+ /** Line thickness in px. Default 1. */
9
+ thickness?: number;
10
+ /** Mask direction. Default `bottom` — dense at top, fading out near the bottom. */
11
+ fade?: GridFade;
12
+ /** Position (0–100) where the fade starts (still fully opaque). Default 25. */
13
+ fadeStart?: number;
14
+ /** Position (0–100) where the fade reaches fully transparent. Default 92. */
15
+ fadeEnd?: number;
16
+ }
17
+ /**
18
+ * Fading grid lines — absolute-positioned, fills its nearest positioned ancestor.
19
+ * Drop into any `relative` container for a subtle engineering-paper backdrop.
20
+ */
21
+ export declare function GridBackground({ size, color, thickness, fade, fadeStart, fadeEnd, className, style, ...props }: GridBackgroundProps): import("react/jsx-runtime").JSX.Element;
22
+ export type { GridBackgroundProps, GridFade };