@usevane/ui 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 (172) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/components/alert.d.ts +19 -0
  4. package/dist/components/alert.d.ts.map +1 -0
  5. package/dist/components/alert.js +33 -0
  6. package/dist/components/alert.js.map +1 -0
  7. package/dist/components/api-route.d.ts +32 -0
  8. package/dist/components/api-route.d.ts.map +1 -0
  9. package/dist/components/api-route.js +23 -0
  10. package/dist/components/api-route.js.map +1 -0
  11. package/dist/components/badge.d.ts +17 -0
  12. package/dist/components/badge.d.ts.map +1 -0
  13. package/dist/components/badge.js +30 -0
  14. package/dist/components/badge.js.map +1 -0
  15. package/dist/components/button.d.ts +18 -0
  16. package/dist/components/button.d.ts.map +1 -0
  17. package/dist/components/button.js +32 -0
  18. package/dist/components/button.js.map +1 -0
  19. package/dist/components/callout.d.ts +16 -0
  20. package/dist/components/callout.d.ts.map +1 -0
  21. package/dist/components/callout.js +40 -0
  22. package/dist/components/callout.js.map +1 -0
  23. package/dist/components/card.d.ts +22 -0
  24. package/dist/components/card.d.ts.map +1 -0
  25. package/dist/components/card.js +35 -0
  26. package/dist/components/card.js.map +1 -0
  27. package/dist/components/charts.d.ts +65 -0
  28. package/dist/components/charts.d.ts.map +1 -0
  29. package/dist/components/charts.js +56 -0
  30. package/dist/components/charts.js.map +1 -0
  31. package/dist/components/code-block.d.ts +16 -0
  32. package/dist/components/code-block.d.ts.map +1 -0
  33. package/dist/components/code-block.js +14 -0
  34. package/dist/components/code-block.js.map +1 -0
  35. package/dist/components/command-palette.d.ts +23 -0
  36. package/dist/components/command-palette.d.ts.map +1 -0
  37. package/dist/components/command-palette.js +107 -0
  38. package/dist/components/command-palette.js.map +1 -0
  39. package/dist/components/command-provider.d.ts +22 -0
  40. package/dist/components/command-provider.d.ts.map +1 -0
  41. package/dist/components/command-provider.js +42 -0
  42. package/dist/components/command-provider.js.map +1 -0
  43. package/dist/components/confirm-dialog.d.ts +22 -0
  44. package/dist/components/confirm-dialog.d.ts.map +1 -0
  45. package/dist/components/confirm-dialog.js +42 -0
  46. package/dist/components/confirm-dialog.js.map +1 -0
  47. package/dist/components/copy-block.d.ts +17 -0
  48. package/dist/components/copy-block.d.ts.map +1 -0
  49. package/dist/components/copy-block.js +23 -0
  50. package/dist/components/copy-block.js.map +1 -0
  51. package/dist/components/data-module.d.ts +26 -0
  52. package/dist/components/data-module.d.ts.map +1 -0
  53. package/dist/components/data-module.js +46 -0
  54. package/dist/components/data-module.js.map +1 -0
  55. package/dist/components/data-stack.d.ts +23 -0
  56. package/dist/components/data-stack.d.ts.map +1 -0
  57. package/dist/components/data-stack.js +31 -0
  58. package/dist/components/data-stack.js.map +1 -0
  59. package/dist/components/data-table.d.ts +15 -0
  60. package/dist/components/data-table.d.ts.map +1 -0
  61. package/dist/components/data-table.js +22 -0
  62. package/dist/components/data-table.js.map +1 -0
  63. package/dist/components/doc-heading.d.ts +14 -0
  64. package/dist/components/doc-heading.d.ts.map +1 -0
  65. package/dist/components/doc-heading.js +28 -0
  66. package/dist/components/doc-heading.js.map +1 -0
  67. package/dist/components/empty-state.d.ts +16 -0
  68. package/dist/components/empty-state.d.ts.map +1 -0
  69. package/dist/components/empty-state.js +11 -0
  70. package/dist/components/empty-state.js.map +1 -0
  71. package/dist/components/error-page.d.ts +27 -0
  72. package/dist/components/error-page.d.ts.map +1 -0
  73. package/dist/components/error-page.js +16 -0
  74. package/dist/components/error-page.js.map +1 -0
  75. package/dist/components/form-field.d.ts +23 -0
  76. package/dist/components/form-field.d.ts.map +1 -0
  77. package/dist/components/form-field.js +23 -0
  78. package/dist/components/form-field.js.map +1 -0
  79. package/dist/components/grid.d.ts +16 -0
  80. package/dist/components/grid.d.ts.map +1 -0
  81. package/dist/components/grid.js +22 -0
  82. package/dist/components/grid.js.map +1 -0
  83. package/dist/components/heading.d.ts +15 -0
  84. package/dist/components/heading.d.ts.map +1 -0
  85. package/dist/components/heading.js +21 -0
  86. package/dist/components/heading.js.map +1 -0
  87. package/dist/components/input.d.ts +16 -0
  88. package/dist/components/input.d.ts.map +1 -0
  89. package/dist/components/input.js +23 -0
  90. package/dist/components/input.js.map +1 -0
  91. package/dist/components/kbd.d.ts +14 -0
  92. package/dist/components/kbd.d.ts.map +1 -0
  93. package/dist/components/kbd.js +11 -0
  94. package/dist/components/kbd.js.map +1 -0
  95. package/dist/components/label.d.ts +11 -0
  96. package/dist/components/label.d.ts.map +1 -0
  97. package/dist/components/label.js +12 -0
  98. package/dist/components/label.js.map +1 -0
  99. package/dist/components/mobile-menu.d.ts +14 -0
  100. package/dist/components/mobile-menu.d.ts.map +1 -0
  101. package/dist/components/mobile-menu.js +15 -0
  102. package/dist/components/mobile-menu.js.map +1 -0
  103. package/dist/components/modal.d.ts +20 -0
  104. package/dist/components/modal.d.ts.map +1 -0
  105. package/dist/components/modal.js +62 -0
  106. package/dist/components/modal.js.map +1 -0
  107. package/dist/components/nav-link.d.ts +16 -0
  108. package/dist/components/nav-link.d.ts.map +1 -0
  109. package/dist/components/nav-link.js +13 -0
  110. package/dist/components/nav-link.js.map +1 -0
  111. package/dist/components/page-header.d.ts +18 -0
  112. package/dist/components/page-header.d.ts.map +1 -0
  113. package/dist/components/page-header.js +11 -0
  114. package/dist/components/page-header.js.map +1 -0
  115. package/dist/components/select.d.ts +16 -0
  116. package/dist/components/select.d.ts.map +1 -0
  117. package/dist/components/select.js +23 -0
  118. package/dist/components/select.js.map +1 -0
  119. package/dist/components/separator.d.ts +16 -0
  120. package/dist/components/separator.d.ts.map +1 -0
  121. package/dist/components/separator.js +11 -0
  122. package/dist/components/separator.js.map +1 -0
  123. package/dist/components/sidebar.d.ts +20 -0
  124. package/dist/components/sidebar.d.ts.map +1 -0
  125. package/dist/components/sidebar.js +16 -0
  126. package/dist/components/sidebar.js.map +1 -0
  127. package/dist/components/sign-out-button.d.ts +15 -0
  128. package/dist/components/sign-out-button.d.ts.map +1 -0
  129. package/dist/components/sign-out-button.js +14 -0
  130. package/dist/components/sign-out-button.js.map +1 -0
  131. package/dist/components/skeleton.d.ts +11 -0
  132. package/dist/components/skeleton.d.ts.map +1 -0
  133. package/dist/components/skeleton.js +12 -0
  134. package/dist/components/skeleton.js.map +1 -0
  135. package/dist/components/spacer.d.ts +14 -0
  136. package/dist/components/spacer.d.ts.map +1 -0
  137. package/dist/components/spacer.js +18 -0
  138. package/dist/components/spacer.js.map +1 -0
  139. package/dist/components/stack.d.ts +20 -0
  140. package/dist/components/stack.d.ts.map +1 -0
  141. package/dist/components/stack.js +14 -0
  142. package/dist/components/stack.js.map +1 -0
  143. package/dist/components/status-badge.d.ts +17 -0
  144. package/dist/components/status-badge.d.ts.map +1 -0
  145. package/dist/components/status-badge.js +27 -0
  146. package/dist/components/status-badge.js.map +1 -0
  147. package/dist/components/tabs.d.ts +18 -0
  148. package/dist/components/tabs.d.ts.map +1 -0
  149. package/dist/components/tabs.js +12 -0
  150. package/dist/components/tabs.js.map +1 -0
  151. package/dist/components/textarea.d.ts +16 -0
  152. package/dist/components/textarea.d.ts.map +1 -0
  153. package/dist/components/textarea.js +23 -0
  154. package/dist/components/textarea.js.map +1 -0
  155. package/dist/components/toast.d.ts +36 -0
  156. package/dist/components/toast.d.ts.map +1 -0
  157. package/dist/components/toast.js +47 -0
  158. package/dist/components/toast.js.map +1 -0
  159. package/dist/components/top-bar.d.ts +18 -0
  160. package/dist/components/top-bar.d.ts.map +1 -0
  161. package/dist/components/top-bar.js +11 -0
  162. package/dist/components/top-bar.js.map +1 -0
  163. package/dist/index.d.ts +83 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +61 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/lib/utils.d.ts +7 -0
  168. package/dist/lib/utils.d.ts.map +1 -0
  169. package/dist/lib/utils.js +8 -0
  170. package/dist/lib/utils.js.map +1 -0
  171. package/package.json +46 -0
  172. package/src/theme.css +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,MAAM,gBAAgB,GAAG,GAAG,CAC1B,+UAA+U,EAC/U;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,+FAA+F;SACxG;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAA;AAKD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACzC,mBACE,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EACvD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CACF,CAAA;AACD,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @file packages/ui/src/components/toast.tsx
3
+ * @description Moe-Brutalist toast — snaps in from top-right. Hard borders. Auto-dismiss.
4
+ * Provides a ToastProvider + useToast hook for imperative usage.
5
+ */
6
+ import * as React from 'react';
7
+ type ToastVariant = 'success' | 'error' | 'info';
8
+ type Toast = {
9
+ id: string;
10
+ message: string;
11
+ variant: ToastVariant;
12
+ };
13
+ type ToastContextType = {
14
+ toast: (message: string, variant?: ToastVariant) => void;
15
+ };
16
+ /**
17
+ * Manage toast lifecycle and render the toast stack in a fixed overlay.
18
+ *
19
+ * @param children - Application tree that can access toasts via `useToast`
20
+ */
21
+ declare const ToastProvider: {
22
+ ({ children }: {
23
+ children: React.ReactNode;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ /**
28
+ * Access the toast API from within a `ToastProvider`.
29
+ *
30
+ * @returns Toast context with an imperative `toast()` method
31
+ * @throws If called outside of a `ToastProvider`
32
+ */
33
+ declare const useToast: () => ToastContextType;
34
+ export { ToastProvider, useToast };
35
+ export type { Toast, ToastVariant };
36
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAEhD,KAAK,KAAK,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;CACzD,CAAA;AAYD;;;;GAIG;AACH,QAAA,MAAM,aAAa;mBAAkB;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;;CA+BjE,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,QAAQ,QAAO,gBAIpB,CAAA;AAID,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAClC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @file packages/ui/src/components/toast.tsx
3
+ * @description Moe-Brutalist toast — snaps in from top-right. Hard borders. Auto-dismiss.
4
+ * Provides a ToastProvider + useToast hook for imperative usage.
5
+ */
6
+ 'use client';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ import * as React from 'react';
9
+ import { cn } from '../lib/utils';
10
+ const ToastContext = React.createContext(null);
11
+ const VARIANT_STYLES = {
12
+ success: 'border-cyan text-cyan shadow-hard-cyan',
13
+ error: 'border-threat text-threat shadow-hard-threat',
14
+ info: 'border-white text-white shadow-hard',
15
+ };
16
+ const DISMISS_MS = 4_000;
17
+ /**
18
+ * Manage toast lifecycle and render the toast stack in a fixed overlay.
19
+ *
20
+ * @param children - Application tree that can access toasts via `useToast`
21
+ */
22
+ const ToastProvider = ({ children }) => {
23
+ const [toasts, setToasts] = React.useState([]);
24
+ const addToast = React.useCallback((message, variant = 'info') => {
25
+ const id = Math.random().toString(36).slice(2);
26
+ setToasts((prev) => [...prev, { id, message, variant }]);
27
+ setTimeout(() => {
28
+ setToasts((prev) => prev.filter((t) => t.id !== id));
29
+ }, DISMISS_MS);
30
+ }, []);
31
+ return (_jsxs(ToastContext.Provider, { value: { toast: addToast }, children: [children, _jsx("div", { className: "fixed right-4 top-4 z-[100] flex flex-col gap-2", children: toasts.map((t) => (_jsx("div", { role: t.variant === 'error' ? 'alert' : 'status', "aria-live": t.variant === 'error' ? 'assertive' : 'polite', className: cn('rounded-none border-2 bg-surface px-4 py-3 font-mono text-sm', VARIANT_STYLES[t.variant]), children: t.message }, t.id))) })] }));
32
+ };
33
+ /**
34
+ * Access the toast API from within a `ToastProvider`.
35
+ *
36
+ * @returns Toast context with an imperative `toast()` method
37
+ * @throws If called outside of a `ToastProvider`
38
+ */
39
+ const useToast = () => {
40
+ const ctx = React.useContext(ToastContext);
41
+ if (!ctx)
42
+ throw new Error('useToast must be used within ToastProvider');
43
+ return ctx;
44
+ };
45
+ ToastProvider.displayName = 'ToastProvider';
46
+ export { ToastProvider, useToast };
47
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,CAAA;;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAcjC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAA0B,IAAI,CAAC,CAAA;AAEvE,MAAM,cAAc,GAAiC;IACnD,OAAO,EAAE,wCAAwC;IACjD,KAAK,EAAE,8CAA8C;IACrD,IAAI,EAAE,qCAAqC;CAC5C,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IACpE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,EAAE,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAe,EAAE,UAAwB,MAAM,EAAE,EAAE;QACrF,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9C,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QACxD,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACtD,CAAC,EAAE,UAAU,CAAC,CAAA;IAChB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,MAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAC9C,QAAQ,EACT,cAAK,SAAS,EAAC,iDAAiD,YAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,cAEE,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,eACrC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EACzD,SAAS,EAAE,EAAE,CACX,8DAA8D,EAC9D,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAC1B,YAEA,CAAC,CAAC,OAAO,IARL,CAAC,CAAC,EAAE,CASL,CACP,CAAC,GACE,IACgB,CACzB,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,GAAqB,EAAE;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAC1C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IACvE,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @file packages/ui/src/components/top-bar.tsx
3
+ * @description Moe-Brutalist top navigation bar — hard bottom border, logo left, actions right.
4
+ */
5
+ import * as React from 'react';
6
+ type TopBarProps = React.HTMLAttributes<HTMLElement> & {
7
+ logo?: React.ReactNode;
8
+ nav?: React.ReactNode;
9
+ actions?: React.ReactNode;
10
+ };
11
+ declare const TopBar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
12
+ logo?: React.ReactNode;
13
+ nav?: React.ReactNode;
14
+ actions?: React.ReactNode;
15
+ } & React.RefAttributes<HTMLElement>>;
16
+ export { TopBar };
17
+ export type { TopBarProps };
18
+ //# sourceMappingURL=top-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-bar.d.ts","sourceRoot":"","sources":["../../src/components/top-bar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,QAAA,MAAM,MAAM;WALH,KAAK,CAAC,SAAS;UAChB,KAAK,CAAC,SAAS;cACX,KAAK,CAAC,SAAS;qCAwB1B,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @file packages/ui/src/components/top-bar.tsx
4
+ * @description Moe-Brutalist top navigation bar — hard bottom border, logo left, actions right.
5
+ */
6
+ import * as React from 'react';
7
+ import { cn } from '../lib/utils';
8
+ const TopBar = React.forwardRef(({ className, logo, nav, actions, ...props }, ref) => (_jsxs("nav", { className: cn('flex items-center justify-between border-b-2 border-white px-6 py-3 md:px-12', className), ref: ref, ...props, children: [_jsxs("div", { className: "flex items-center gap-6", children: [logo, nav ? (_jsx("div", { className: "hidden items-center gap-4 md:flex", children: nav })) : null] }), actions ? (_jsx("div", { className: "flex items-center gap-4", children: actions })) : null] })));
9
+ TopBar.displayName = 'TopBar';
10
+ export { TopBar };
11
+ //# sourceMappingURL=top-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-bar.js","sourceRoot":"","sources":["../../src/components/top-bar.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAQjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpD,eACE,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,aAET,eAAK,SAAS,EAAC,yBAAyB,aACrC,IAAI,EACJ,GAAG,CAAC,CAAC,CAAC,CACL,cAAK,SAAS,EAAC,mCAAmC,YAAE,GAAG,GAAO,CAC/D,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,OAAO,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,CACzD,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CACF,CAAA;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @file packages/ui/src/index.ts
3
+ * @description Public exports for @usevane/ui
4
+ */
5
+ export { Button, buttonVariants } from './components/button';
6
+ export type { ButtonProps } from './components/button';
7
+ export { SignOutButton } from './components/sign-out-button';
8
+ export type { SignOutButtonProps } from './components/sign-out-button';
9
+ export { DataModule, DataModuleLabel, DataModuleValue, dataModuleVariants } from './components/data-module';
10
+ export type { DataModuleProps, DataModuleValueProps } from './components/data-module';
11
+ export { StatusBadge, statusBadgeVariants } from './components/status-badge';
12
+ export type { StatusBadgeProps } from './components/status-badge';
13
+ export { SignalTimeline, MethodBreakdown, TopPaths } from './components/charts';
14
+ export { Label } from './components/label';
15
+ export type { LabelProps } from './components/label';
16
+ export { Input, inputVariants } from './components/input';
17
+ export type { InputProps } from './components/input';
18
+ export { Select, selectVariants } from './components/select';
19
+ export type { SelectProps } from './components/select';
20
+ export { Textarea, textareaVariants } from './components/textarea';
21
+ export type { TextareaProps } from './components/textarea';
22
+ export { FormField } from './components/form-field';
23
+ export type { FormFieldProps } from './components/form-field';
24
+ export { PageHeader } from './components/page-header';
25
+ export type { PageHeaderProps } from './components/page-header';
26
+ export { TopBar } from './components/top-bar';
27
+ export type { TopBarProps } from './components/top-bar';
28
+ export { Sidebar, SidebarSection, SidebarLink } from './components/sidebar';
29
+ export type { SidebarProps, SidebarSectionProps } from './components/sidebar';
30
+ export { MobileMenu } from './components/mobile-menu';
31
+ export type { MobileMenuProps } from './components/mobile-menu';
32
+ export { NavLink } from './components/nav-link';
33
+ export type { NavLinkProps } from './components/nav-link';
34
+ export { Modal } from './components/modal';
35
+ export type { ModalProps } from './components/modal';
36
+ export { ConfirmDialog } from './components/confirm-dialog';
37
+ export type { ConfirmDialogProps } from './components/confirm-dialog';
38
+ export { ToastProvider, useToast } from './components/toast';
39
+ export type { Toast, ToastVariant } from './components/toast';
40
+ export { DataTable, DataTableHeader, DataTableBody, DataTableRow, DataTableHead, DataTableCell } from './components/data-table';
41
+ export { Tabs } from './components/tabs';
42
+ export type { TabsProps, Tab } from './components/tabs';
43
+ export { CopyBlock } from './components/copy-block';
44
+ export type { CopyBlockProps } from './components/copy-block';
45
+ export { EmptyState } from './components/empty-state';
46
+ export type { EmptyStateProps } from './components/empty-state';
47
+ export { Skeleton } from './components/skeleton';
48
+ export type { SkeletonProps } from './components/skeleton';
49
+ export { Badge, badgeVariants } from './components/badge';
50
+ export type { BadgeProps } from './components/badge';
51
+ export { CommandPalette } from './components/command-palette';
52
+ export type { CommandPaletteProps, CommandItem } from './components/command-palette';
53
+ export { CommandProvider, useCommands } from './components/command-provider';
54
+ export { Kbd } from './components/kbd';
55
+ export type { KbdProps } from './components/kbd';
56
+ export { CodeBlock, InlineCode } from './components/code-block';
57
+ export type { CodeBlockProps } from './components/code-block';
58
+ export { ApiRoute, ApiParam, ApiParams } from './components/api-route';
59
+ export type { ApiRouteProps, ApiParamProps } from './components/api-route';
60
+ export { Callout, calloutVariants } from './components/callout';
61
+ export type { CalloutProps } from './components/callout';
62
+ export { DocH1, DocH2, DocH3, DocH4 } from './components/doc-heading';
63
+ export type { DocHeadingProps } from './components/doc-heading';
64
+ export { ErrorPage, NotFoundPage, ServerErrorPage } from './components/error-page';
65
+ export type { ErrorPageProps } from './components/error-page';
66
+ export { Card, CardHeader, CardTitle, CardContent, CardFooter, cardVariants } from './components/card';
67
+ export type { CardProps } from './components/card';
68
+ export { Alert, AlertTitle, AlertDescription, alertVariants } from './components/alert';
69
+ export type { AlertProps } from './components/alert';
70
+ export { Grid } from './components/grid';
71
+ export type { GridProps } from './components/grid';
72
+ export { Stack } from './components/stack';
73
+ export type { StackProps } from './components/stack';
74
+ export { Heading } from './components/heading';
75
+ export type { HeadingProps } from './components/heading';
76
+ export { Separator } from './components/separator';
77
+ export type { SeparatorProps } from './components/separator';
78
+ export { Spacer } from './components/spacer';
79
+ export type { SpacerProps } from './components/spacer';
80
+ export { DataStack, DataStackItem } from './components/data-stack';
81
+ export type { DataStackProps, DataStackItemProps } from './components/data-stack';
82
+ export { cn } from './lib/utils';
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @file packages/ui/src/index.ts
3
+ * @description Public exports for @usevane/ui
4
+ */
5
+ // --- Buttons ---
6
+ export { Button, buttonVariants } from './components/button';
7
+ export { SignOutButton } from './components/sign-out-button';
8
+ // --- Data Display ---
9
+ export { DataModule, DataModuleLabel, DataModuleValue, dataModuleVariants } from './components/data-module';
10
+ export { StatusBadge, statusBadgeVariants } from './components/status-badge';
11
+ // --- Charts ---
12
+ export { SignalTimeline, MethodBreakdown, TopPaths } from './components/charts';
13
+ // --- Forms ---
14
+ export { Label } from './components/label';
15
+ export { Input, inputVariants } from './components/input';
16
+ export { Select, selectVariants } from './components/select';
17
+ export { Textarea, textareaVariants } from './components/textarea';
18
+ export { FormField } from './components/form-field';
19
+ // --- Layout ---
20
+ export { PageHeader } from './components/page-header';
21
+ export { TopBar } from './components/top-bar';
22
+ export { Sidebar, SidebarSection, SidebarLink } from './components/sidebar';
23
+ export { MobileMenu } from './components/mobile-menu';
24
+ export { NavLink } from './components/nav-link';
25
+ // --- Feedback & Overlays ---
26
+ export { Modal } from './components/modal';
27
+ export { ConfirmDialog } from './components/confirm-dialog';
28
+ export { ToastProvider, useToast } from './components/toast';
29
+ // --- Data (complex) ---
30
+ export { DataTable, DataTableHeader, DataTableBody, DataTableRow, DataTableHead, DataTableCell } from './components/data-table';
31
+ export { Tabs } from './components/tabs';
32
+ export { CopyBlock } from './components/copy-block';
33
+ export { EmptyState } from './components/empty-state';
34
+ export { Skeleton } from './components/skeleton';
35
+ export { Badge, badgeVariants } from './components/badge';
36
+ // --- Command Palette ---
37
+ export { CommandPalette } from './components/command-palette';
38
+ export { CommandProvider, useCommands } from './components/command-provider';
39
+ export { Kbd } from './components/kbd';
40
+ // --- Documentation ---
41
+ export { CodeBlock, InlineCode } from './components/code-block';
42
+ export { ApiRoute, ApiParam, ApiParams } from './components/api-route';
43
+ export { Callout, calloutVariants } from './components/callout';
44
+ export { DocH1, DocH2, DocH3, DocH4 } from './components/doc-heading';
45
+ // --- Error Pages ---
46
+ export { ErrorPage, NotFoundPage, ServerErrorPage } from './components/error-page';
47
+ // --- Card ---
48
+ export { Card, CardHeader, CardTitle, CardContent, CardFooter, cardVariants } from './components/card';
49
+ // --- Alert ---
50
+ export { Alert, AlertTitle, AlertDescription, alertVariants } from './components/alert';
51
+ // --- Layout Primitives ---
52
+ export { Grid } from './components/grid';
53
+ export { Stack } from './components/stack';
54
+ export { Heading } from './components/heading';
55
+ export { Separator } from './components/separator';
56
+ export { Spacer } from './components/spacer';
57
+ // --- Data Stack ---
58
+ export { DataStack, DataStackItem } from './components/data-stack';
59
+ // --- Utilities ---
60
+ export { cn } from './lib/utils';
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file packages/ui/src/lib/utils.ts
3
+ * @description Tailwind class merging utility
4
+ */
5
+ import { type ClassValue } from 'clsx';
6
+ export declare const cn: (...inputs: ClassValue[]) => string;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,eAAO,MAAM,EAAE,GAAI,GAAG,QAAQ,UAAU,EAAE,KAAG,MAA+B,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @file packages/ui/src/lib/utils.ts
3
+ * @description Tailwind class merging utility
4
+ */
5
+ import { clsx } from 'clsx';
6
+ import { twMerge } from 'tailwind-merge';
7
+ export const cn = (...inputs) => twMerge(clsx(inputs));
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAoB,EAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@usevane/ui",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": [
8
+ "**/*.css"
9
+ ],
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./theme.css": "./src/theme.css"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "src/theme.css",
20
+ "LICENSE",
21
+ "README.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.build.json",
25
+ "dev": "tsc -p tsconfig.build.json --watch",
26
+ "typecheck": "tsc --noEmit",
27
+ "lint": "eslint src",
28
+ "test": "vitest run --passWithNoTests"
29
+ },
30
+ "peerDependencies": {
31
+ "react": ">=19.0.0",
32
+ "react-dom": ">=19.0.0",
33
+ "tailwindcss": ">=4.0.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/react": "^19",
37
+ "@types/react-dom": "^19",
38
+ "happy-dom": "^18.0.1"
39
+ },
40
+ "dependencies": {
41
+ "class-variance-authority": "^0.7.1",
42
+ "clsx": "^2.1.1",
43
+ "recharts": "^3.8.1",
44
+ "tailwind-merge": "^3.0.1"
45
+ }
46
+ }
package/src/theme.css ADDED
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @file packages/ui/src/theme.css
3
+ * @description Moe-Brutalist design system tokens and global resets for Vane
4
+ */
5
+
6
+ @import "tailwindcss";
7
+
8
+ @theme {
9
+ /* Colors — The "Sweet" (Moe) and "Brutal" (Snap) */
10
+ --color-void: #050505;
11
+ --color-surface: #0f0f0f;
12
+ --color-pink: #FF9ECA;
13
+ --color-cyan: #74F6F4;
14
+ --color-lavender: #C9B8FF;
15
+ --color-peach: #FFD4A8;
16
+ --color-threat: #FF0055;
17
+ --color-critical: #FFE500;
18
+ --color-secondary: #888888;
19
+
20
+ /* Fonts — The Clash System: soft display vs hard mono */
21
+ --font-display: var(--font-syne), sans-serif;
22
+ --font-mono: var(--font-ibm-plex-mono), monospace;
23
+
24
+ /* Shadows — hard offset only, never blur */
25
+ --shadow-hard: 3px 3px 0px #ffffff;
26
+ --shadow-hard-pink: 5px 5px 0px #FF9ECA;
27
+ --shadow-hard-cyan: 5px 5px 0px #74F6F4;
28
+ --shadow-hard-lavender: 5px 5px 0px #C9B8FF;
29
+ --shadow-hard-threat: 5px 5px 0px #FF0055;
30
+ --shadow-hard-focus: 5px 5px 0px #74F6F4;
31
+ --shadow-hard-critical: 5px 5px 0px #FFE500;
32
+ --shadow-hard-sm: 1px 1px 0px #ffffff;
33
+ --shadow-hard-subtle: 2px 2px 0px #ffffff;
34
+ --shadow-hard-subtle-pink: 3px 3px 0px #FF9ECA;
35
+ --shadow-hard-subtle-threat: 3px 3px 0px #FF0055;
36
+ }
37
+
38
+ /* Grid background — barely visible graph paper */
39
+ @utility bg-grid {
40
+ background-image:
41
+ linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
42
+ linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
43
+ background-size: 24px 24px;
44
+ }
45
+
46
+ /* ==========================================================================
47
+ GLOBAL RESET — The anti-smoothness mandate
48
+ No transitions. No animations. Ever. The UI snaps.
49
+ ========================================================================== */
50
+
51
+ * {
52
+ transition: none !important;
53
+ animation-duration: 0ms !important;
54
+ }
55
+
56
+ /* Focus state — accessibility with brutalist flavor */
57
+ :focus-visible {
58
+ outline: 2px solid #74F6F4;
59
+ outline-offset: 2px;
60
+ box-shadow: 5px 5px 0px #74F6F4;
61
+ }
62
+
63
+ /* Scrollbar — hard, monochrome, pink on hover */
64
+ ::-webkit-scrollbar {
65
+ width: 8px;
66
+ }
67
+
68
+ ::-webkit-scrollbar-track {
69
+ background: #050505;
70
+ }
71
+
72
+ ::-webkit-scrollbar-thumb {
73
+ background: #ffffff;
74
+ }
75
+
76
+ ::-webkit-scrollbar-thumb:hover {
77
+ background: #FF9ECA;
78
+ }