@leonardaustin/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 (189) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/dist/components/app-shell/AppShell.d.ts +38 -0
  4. package/dist/components/app-shell/AppShell.d.ts.map +1 -0
  5. package/dist/components/app-shell/AuthLayout.d.ts +7 -0
  6. package/dist/components/app-shell/AuthLayout.d.ts.map +1 -0
  7. package/dist/components/app-shell/BackLink.d.ts +10 -0
  8. package/dist/components/app-shell/BackLink.d.ts.map +1 -0
  9. package/dist/components/app-shell/BottomNav.d.ts +10 -0
  10. package/dist/components/app-shell/BottomNav.d.ts.map +1 -0
  11. package/dist/components/app-shell/Breadcrumbs.d.ts +9 -0
  12. package/dist/components/app-shell/Breadcrumbs.d.ts.map +1 -0
  13. package/dist/components/app-shell/CommandPalette.d.ts +19 -0
  14. package/dist/components/app-shell/CommandPalette.d.ts.map +1 -0
  15. package/dist/components/app-shell/MobileDrawer.d.ts +13 -0
  16. package/dist/components/app-shell/MobileDrawer.d.ts.map +1 -0
  17. package/dist/components/app-shell/Sidebar.d.ts +20 -0
  18. package/dist/components/app-shell/Sidebar.d.ts.map +1 -0
  19. package/dist/components/app-shell/TopBar.d.ts +15 -0
  20. package/dist/components/app-shell/TopBar.d.ts.map +1 -0
  21. package/dist/components/app-shell/commandPaletteEvents.d.ts +12 -0
  22. package/dist/components/app-shell/commandPaletteEvents.d.ts.map +1 -0
  23. package/dist/components/app-shell/navigation.d.ts +7 -0
  24. package/dist/components/app-shell/navigation.d.ts.map +1 -0
  25. package/dist/components/app-shell/types.d.ts +33 -0
  26. package/dist/components/app-shell/types.d.ts.map +1 -0
  27. package/dist/components/charts/AreaChart.d.ts +10 -0
  28. package/dist/components/charts/AreaChart.d.ts.map +1 -0
  29. package/dist/components/charts/BarChart.d.ts +10 -0
  30. package/dist/components/charts/BarChart.d.ts.map +1 -0
  31. package/dist/components/charts/DonutChart.d.ts +12 -0
  32. package/dist/components/charts/DonutChart.d.ts.map +1 -0
  33. package/dist/components/charts/RadarChart.d.ts +13 -0
  34. package/dist/components/charts/RadarChart.d.ts.map +1 -0
  35. package/dist/components/charts/RadialBarChart.d.ts +13 -0
  36. package/dist/components/charts/RadialBarChart.d.ts.map +1 -0
  37. package/dist/components/charts/SparkLine.d.ts +7 -0
  38. package/dist/components/charts/SparkLine.d.ts.map +1 -0
  39. package/dist/components/charts/VerticalBarChart.d.ts +11 -0
  40. package/dist/components/charts/VerticalBarChart.d.ts.map +1 -0
  41. package/dist/components/tables/ColumnPicker.d.ts +33 -0
  42. package/dist/components/tables/ColumnPicker.d.ts.map +1 -0
  43. package/dist/components/tables/Pagination.d.ts +8 -0
  44. package/dist/components/tables/Pagination.d.ts.map +1 -0
  45. package/dist/components/tables/ResourceTable.d.ts +56 -0
  46. package/dist/components/tables/ResourceTable.d.ts.map +1 -0
  47. package/dist/components/tables/sortRows.d.ts +13 -0
  48. package/dist/components/tables/sortRows.d.ts.map +1 -0
  49. package/dist/components/ui/Alert.d.ts +11 -0
  50. package/dist/components/ui/Alert.d.ts.map +1 -0
  51. package/dist/components/ui/AuthCard.d.ts +11 -0
  52. package/dist/components/ui/AuthCard.d.ts.map +1 -0
  53. package/dist/components/ui/AuthorByline.d.ts +57 -0
  54. package/dist/components/ui/AuthorByline.d.ts.map +1 -0
  55. package/dist/components/ui/Avatar.d.ts +8 -0
  56. package/dist/components/ui/Avatar.d.ts.map +1 -0
  57. package/dist/components/ui/Badge.d.ts +10 -0
  58. package/dist/components/ui/Badge.d.ts.map +1 -0
  59. package/dist/components/ui/Button.d.ts +63 -0
  60. package/dist/components/ui/Button.d.ts.map +1 -0
  61. package/dist/components/ui/CalendarGrid.d.ts +23 -0
  62. package/dist/components/ui/CalendarGrid.d.ts.map +1 -0
  63. package/dist/components/ui/Card.d.ts +9 -0
  64. package/dist/components/ui/Card.d.ts.map +1 -0
  65. package/dist/components/ui/Checkbox.d.ts +10 -0
  66. package/dist/components/ui/Checkbox.d.ts.map +1 -0
  67. package/dist/components/ui/Combobox.d.ts +15 -0
  68. package/dist/components/ui/Combobox.d.ts.map +1 -0
  69. package/dist/components/ui/DangerZone.d.ts +40 -0
  70. package/dist/components/ui/DangerZone.d.ts.map +1 -0
  71. package/dist/components/ui/DatePicker.d.ts +11 -0
  72. package/dist/components/ui/DatePicker.d.ts.map +1 -0
  73. package/dist/components/ui/DateRangePicker.d.ts +13 -0
  74. package/dist/components/ui/DateRangePicker.d.ts.map +1 -0
  75. package/dist/components/ui/DateTimePicker.d.ts +9 -0
  76. package/dist/components/ui/DateTimePicker.d.ts.map +1 -0
  77. package/dist/components/ui/DetailPanel.d.ts +19 -0
  78. package/dist/components/ui/DetailPanel.d.ts.map +1 -0
  79. package/dist/components/ui/Dialog.d.ts +28 -0
  80. package/dist/components/ui/Dialog.d.ts.map +1 -0
  81. package/dist/components/ui/DialogActions.d.ts +52 -0
  82. package/dist/components/ui/DialogActions.d.ts.map +1 -0
  83. package/dist/components/ui/DividerLabel.d.ts +7 -0
  84. package/dist/components/ui/DividerLabel.d.ts.map +1 -0
  85. package/dist/components/ui/DropdownMenu.d.ts +27 -0
  86. package/dist/components/ui/DropdownMenu.d.ts.map +1 -0
  87. package/dist/components/ui/EmptyState.d.ts +11 -0
  88. package/dist/components/ui/EmptyState.d.ts.map +1 -0
  89. package/dist/components/ui/ErrorBoundary.d.ts +16 -0
  90. package/dist/components/ui/ErrorBoundary.d.ts.map +1 -0
  91. package/dist/components/ui/FilterButton.d.ts +47 -0
  92. package/dist/components/ui/FilterButton.d.ts.map +1 -0
  93. package/dist/components/ui/FilterDropdown.d.ts +50 -0
  94. package/dist/components/ui/FilterDropdown.d.ts.map +1 -0
  95. package/dist/components/ui/Kbd.d.ts +7 -0
  96. package/dist/components/ui/Kbd.d.ts.map +1 -0
  97. package/dist/components/ui/LoadingSpinner.d.ts +7 -0
  98. package/dist/components/ui/LoadingSpinner.d.ts.map +1 -0
  99. package/dist/components/ui/MetadataGrid.d.ts +45 -0
  100. package/dist/components/ui/MetadataGrid.d.ts.map +1 -0
  101. package/dist/components/ui/MetricCard.d.ts +12 -0
  102. package/dist/components/ui/MetricCard.d.ts.map +1 -0
  103. package/dist/components/ui/OAuthButton.d.ts +8 -0
  104. package/dist/components/ui/OAuthButton.d.ts.map +1 -0
  105. package/dist/components/ui/PageHeader.d.ts +44 -0
  106. package/dist/components/ui/PageHeader.d.ts.map +1 -0
  107. package/dist/components/ui/PageSection.d.ts +13 -0
  108. package/dist/components/ui/PageSection.d.ts.map +1 -0
  109. package/dist/components/ui/PaginationBar.d.ts +58 -0
  110. package/dist/components/ui/PaginationBar.d.ts.map +1 -0
  111. package/dist/components/ui/PasswordInput.d.ts +8 -0
  112. package/dist/components/ui/PasswordInput.d.ts.map +1 -0
  113. package/dist/components/ui/ProfileHeader.d.ts +54 -0
  114. package/dist/components/ui/ProfileHeader.d.ts.map +1 -0
  115. package/dist/components/ui/ProseContent.d.ts +7 -0
  116. package/dist/components/ui/ProseContent.d.ts.map +1 -0
  117. package/dist/components/ui/RadioPill.d.ts +14 -0
  118. package/dist/components/ui/RadioPill.d.ts.map +1 -0
  119. package/dist/components/ui/SearchInput.d.ts +8 -0
  120. package/dist/components/ui/SearchInput.d.ts.map +1 -0
  121. package/dist/components/ui/SectionHeader.d.ts +35 -0
  122. package/dist/components/ui/SectionHeader.d.ts.map +1 -0
  123. package/dist/components/ui/Select.d.ts +12 -0
  124. package/dist/components/ui/Select.d.ts.map +1 -0
  125. package/dist/components/ui/SelectDropdown.d.ts +16 -0
  126. package/dist/components/ui/SelectDropdown.d.ts.map +1 -0
  127. package/dist/components/ui/SettingRow.d.ts +42 -0
  128. package/dist/components/ui/SettingRow.d.ts.map +1 -0
  129. package/dist/components/ui/SideSheet.d.ts +14 -0
  130. package/dist/components/ui/SideSheet.d.ts.map +1 -0
  131. package/dist/components/ui/Slider.d.ts +14 -0
  132. package/dist/components/ui/Slider.d.ts.map +1 -0
  133. package/dist/components/ui/SplitPaneLayout.d.ts +73 -0
  134. package/dist/components/ui/SplitPaneLayout.d.ts.map +1 -0
  135. package/dist/components/ui/StatusDot.d.ts +9 -0
  136. package/dist/components/ui/StatusDot.d.ts.map +1 -0
  137. package/dist/components/ui/StepProgress.d.ts +11 -0
  138. package/dist/components/ui/StepProgress.d.ts.map +1 -0
  139. package/dist/components/ui/Tabs.d.ts +18 -0
  140. package/dist/components/ui/Tabs.d.ts.map +1 -0
  141. package/dist/components/ui/TextInput.d.ts +13 -0
  142. package/dist/components/ui/TextInput.d.ts.map +1 -0
  143. package/dist/components/ui/Textarea.d.ts +9 -0
  144. package/dist/components/ui/Textarea.d.ts.map +1 -0
  145. package/dist/components/ui/ThemePreview.d.ts +14 -0
  146. package/dist/components/ui/ThemePreview.d.ts.map +1 -0
  147. package/dist/components/ui/Timeline.d.ts +39 -0
  148. package/dist/components/ui/Timeline.d.ts.map +1 -0
  149. package/dist/components/ui/Toast.d.ts +21 -0
  150. package/dist/components/ui/Toast.d.ts.map +1 -0
  151. package/dist/components/ui/Toggle.d.ts +9 -0
  152. package/dist/components/ui/Toggle.d.ts.map +1 -0
  153. package/dist/components/ui/Toolbar.d.ts +11 -0
  154. package/dist/components/ui/Toolbar.d.ts.map +1 -0
  155. package/dist/components/ui/Tooltip.d.ts +10 -0
  156. package/dist/components/ui/Tooltip.d.ts.map +1 -0
  157. package/dist/components/ui/UploadDropzone.d.ts +13 -0
  158. package/dist/components/ui/UploadDropzone.d.ts.map +1 -0
  159. package/dist/config/theme.d.ts +43 -0
  160. package/dist/config/theme.d.ts.map +1 -0
  161. package/dist/hooks/useApplyTheme.d.ts +7 -0
  162. package/dist/hooks/useApplyTheme.d.ts.map +1 -0
  163. package/dist/hooks/useDismiss.d.ts +8 -0
  164. package/dist/hooks/useDismiss.d.ts.map +1 -0
  165. package/dist/hooks/useDropUp.d.ts +7 -0
  166. package/dist/hooks/useDropUp.d.ts.map +1 -0
  167. package/dist/hooks/useFocusTrap.d.ts +7 -0
  168. package/dist/hooks/useFocusTrap.d.ts.map +1 -0
  169. package/dist/hooks/useSettings.d.ts +8 -0
  170. package/dist/hooks/useSettings.d.ts.map +1 -0
  171. package/dist/hooks/useTheme.d.ts +6 -0
  172. package/dist/hooks/useTheme.d.ts.map +1 -0
  173. package/dist/index.d.ts +91 -0
  174. package/dist/index.d.ts.map +1 -0
  175. package/dist/index.js +4622 -0
  176. package/dist/lib/cn.d.ts +3 -0
  177. package/dist/lib/cn.d.ts.map +1 -0
  178. package/dist/lib/formatDate.d.ts +28 -0
  179. package/dist/lib/formatDate.d.ts.map +1 -0
  180. package/dist/providers/SettingsContext.d.ts +60 -0
  181. package/dist/providers/SettingsContext.d.ts.map +1 -0
  182. package/dist/providers/SettingsProvider.d.ts +7 -0
  183. package/dist/providers/SettingsProvider.d.ts.map +1 -0
  184. package/dist/providers/ThemeContext.d.ts +8 -0
  185. package/dist/providers/ThemeContext.d.ts.map +1 -0
  186. package/dist/providers/ThemeProvider.d.ts +5 -0
  187. package/dist/providers/ThemeProvider.d.ts.map +1 -0
  188. package/dist/styles.css +923 -0
  189. package/package.json +63 -0
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from "react";
2
+ interface Tab {
3
+ key: string;
4
+ label: string;
5
+ content: ReactNode;
6
+ }
7
+ export interface TabsProps {
8
+ tabs: Tab[];
9
+ defaultTab?: string;
10
+ /** Controlled active tab key. When set, the parent owns the state. */
11
+ value?: string;
12
+ /** Called with the tab key whenever a tab is selected. */
13
+ onChange?: (key: string) => void;
14
+ className?: string;
15
+ }
16
+ export declare function Tabs({ tabs, defaultTab, value, onChange, className, }: TabsProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhE,UAAU,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,SAAS,2CA2EX"}
@@ -0,0 +1,13 @@
1
+ import { type InputHTMLAttributes, type ReactNode } from "react";
2
+ interface TextInputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ label?: string;
4
+ error?: string;
5
+ /**
6
+ * Pre-rendered icon JSX shown inside the input (e.g. `<Mail className="h-3.5 w-3.5" />`).
7
+ * Unlike Button's `icon`, which takes a component reference, this takes a ReactNode.
8
+ */
9
+ icon?: ReactNode;
10
+ }
11
+ export declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<HTMLInputElement>>;
12
+ export {};
13
+ //# sourceMappingURL=TextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/components/ui/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7E,UAAU,cAAe,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,SAAS,6GAgDrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type TextareaHTMLAttributes } from "react";
2
+ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ label?: string;
4
+ error?: string;
5
+ showCount?: boolean;
6
+ }
7
+ export declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
8
+ export {};
9
+ //# sourceMappingURL=Textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAIhE,UAAU,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,+GA4CpB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ElementType } from "react";
2
+ export interface ThemePreviewProps {
3
+ label: string;
4
+ active?: boolean;
5
+ icon?: ElementType;
6
+ preview?: {
7
+ bg?: string;
8
+ fg?: string;
9
+ };
10
+ onClick?: () => void;
11
+ className?: string;
12
+ }
13
+ export declare function ThemePreview({ label, active, icon: Icon, preview, onClick, className, }: ThemePreviewProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=ThemePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemePreview.d.ts","sourceRoot":"","sources":["../../../src/components/ui/ThemePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIzC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,IAAI,EAAE,IAAI,EACV,OAAO,EACP,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,2CA4BnB"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Timeline — a vertical timeline with colored dot markers and connector lines.
3
+ *
4
+ * Used on the Profile page to show recent activity. Each item has a colored
5
+ * dot, a vertical connector line (except the last item), and text content.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <Timeline
10
+ * items={[
11
+ * { id: 1, dot: "bg-blue", text: "Deployed v2.4.1", time: "2h ago" },
12
+ * { id: 2, dot: "bg-purple", text: "Merged PR #482", time: "5h ago" },
13
+ * { id: 3, dot: "bg-green", text: "Resolved Issue #1024", time: "Yesterday" },
14
+ * ]}
15
+ * />
16
+ * ```
17
+ */
18
+ interface TimelineItem {
19
+ /** Unique identifier for React keys. */
20
+ id: string | number;
21
+ /**
22
+ * Utility background class for the dot marker.
23
+ * Use semantic color tokens like "bg-blue", "bg-green", "bg-accent".
24
+ */
25
+ dot: string;
26
+ /** Primary text describing the activity. */
27
+ text: string;
28
+ /** Timestamp or relative time string. */
29
+ time: string;
30
+ }
31
+ interface TimelineProps {
32
+ /** List of timeline entries to render, in chronological order. */
33
+ items: TimelineItem[];
34
+ /** Additional utility classes for the root container. */
35
+ className?: string;
36
+ }
37
+ export declare function Timeline({ items, className }: TimelineProps): import("react/jsx-runtime").JSX.Element;
38
+ export {};
39
+ //# sourceMappingURL=Timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Timeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,UAAU,YAAY;IACpB,wCAAwC;IACxC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,kEAAkE;IAClE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,2CA2B3D"}
@@ -0,0 +1,21 @@
1
+ import { type ReactNode } from "react";
2
+ type ToastType = "success" | "error" | "warning" | "info";
3
+ interface ToastContextValue {
4
+ /**
5
+ * Show a toast. duration is ms (default 4000), auto-dismisses.
6
+ * Must be under <ToastProvider>.
7
+ * @example toast("success", "Saved")
8
+ */
9
+ toast: (type: ToastType, message: string, duration?: number) => void;
10
+ }
11
+ /**
12
+ * Access the `toast` function. Requires a <ToastProvider> ancestor; without
13
+ * one, the default context is used and `toast()` is a no-op (nothing renders).
14
+ */
15
+ export declare function useToast(): ToastContextValue;
16
+ /** Provides toast context and renders the toast stack (top-right, aria-live). */
17
+ export declare function ToastProvider({ children }: {
18
+ children: ReactNode;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=Toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,KAAK,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAS1D,UAAU,iBAAiB;IACzB;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAID;;;GAGG;AACH,wBAAgB,QAAQ,sBAEvB;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA6BlE"}
@@ -0,0 +1,9 @@
1
+ export interface ToggleProps {
2
+ checked: boolean;
3
+ onChange: (checked: boolean) => void;
4
+ disabled?: boolean;
5
+ label?: string;
6
+ className?: string;
7
+ }
8
+ export declare function Toggle({ checked, onChange, disabled, label, className, }: ToggleProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Toggle.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,WAAW,2CAsCb"}
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from "react";
2
+ export interface ToolbarProps {
3
+ start?: ReactNode;
4
+ end?: ReactNode;
5
+ children?: ReactNode;
6
+ className?: string;
7
+ startClassName?: string;
8
+ endClassName?: string;
9
+ }
10
+ export declare function Toolbar({ start, end, children, className, startClassName, endClassName, }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,GAAG,EACH,QAAQ,EACR,SAAS,EACT,cAAc,EACd,YAAY,GACb,EAAE,YAAY,2CAad"}
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ type Placement = "top" | "bottom" | "left" | "right";
3
+ interface TooltipProps {
4
+ content: string;
5
+ placement?: Placement;
6
+ children: ReactNode;
7
+ }
8
+ export declare function Tooltip({ content, placement, children, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=Tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIxD,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AASD,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAiB,EACjB,QAAQ,GACT,EAAE,YAAY,2CA8Bd"}
@@ -0,0 +1,13 @@
1
+ import type { ChangeEvent, ReactNode } from "react";
2
+ export interface UploadDropzoneProps {
3
+ title?: ReactNode;
4
+ description?: ReactNode;
5
+ icon?: ReactNode;
6
+ accept?: string;
7
+ multiple?: boolean;
8
+ disabled?: boolean;
9
+ onChange?: (files: FileList | null, event: ChangeEvent<HTMLInputElement>) => void;
10
+ className?: string;
11
+ }
12
+ export declare function UploadDropzone({ title, description, icon, accept, multiple, disabled, onChange, className, }: UploadDropzoneProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=UploadDropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropzone.d.ts","sourceRoot":"","sources":["../../../src/components/ui/UploadDropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,QAAQ,GAAG,IAAI,EACtB,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KACjC,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAsD,EACtD,WAAW,EACX,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,2CA4BrB"}
@@ -0,0 +1,43 @@
1
+ import type { LucideIcon } from "lucide-react";
2
+ import type { AccentColor, FontFamily } from "../providers/SettingsContext";
3
+ import type { LightTheme, Theme } from "../providers/ThemeContext";
4
+ export interface ThemeItem {
5
+ value: Theme;
6
+ label: string;
7
+ icon: LucideIcon;
8
+ preview?: {
9
+ bg: string;
10
+ fg: string;
11
+ };
12
+ }
13
+ export interface AccentItem {
14
+ value: AccentColor;
15
+ color: string;
16
+ }
17
+ export declare const themeItems: ThemeItem[];
18
+ export declare function isLightTheme(theme: Theme): theme is LightTheme;
19
+ export declare const lightThemes: ThemeItem[];
20
+ export declare const darkThemes: ThemeItem[];
21
+ export interface ThemeCustomization {
22
+ uiFont: FontFamily;
23
+ headingFont: FontFamily;
24
+ proseFont: FontFamily;
25
+ controlFont: FontFamily;
26
+ labelFont: FontFamily;
27
+ navigationFont: FontFamily;
28
+ dataFont: FontFamily;
29
+ codeFont: FontFamily;
30
+ fontSize: number;
31
+ borderRadius: number;
32
+ borderWidth: number;
33
+ tracking: number;
34
+ lineHeight: number;
35
+ density: number;
36
+ }
37
+ export declare const themeDefaults: Record<Theme, ThemeCustomization>;
38
+ export declare const fontOptions: {
39
+ value: FontFamily;
40
+ label: string;
41
+ }[];
42
+ export declare const accentItems: AccentItem[];
43
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/config/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EA2CjC,CAAC;AAQF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU,CAE9D;AAED,eAAO,MAAM,WAAW,aAAkD,CAAC;AAC3E,eAAO,MAAM,UAAU,aAAmD,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,cAAc,EAAE,UAAU,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAqDD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAQ3D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAM7D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAAU,EASnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Theme } from "../providers/ThemeContext";
2
+ /**
3
+ * Returns a function that sets a theme as the preferred dark or light theme
4
+ * and switches to the corresponding color mode for immediate feedback.
5
+ */
6
+ export declare function useApplyTheme(): (theme: Theme) => void;
7
+ //# sourceMappingURL=useApplyTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApplyTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useApplyTheme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGvD;;;GAGG;AACH,wBAAgB,aAAa,YAKjB,KAAK,UAWhB"}
@@ -0,0 +1,8 @@
1
+ import { type RefObject } from "react";
2
+ /**
3
+ * Dismisses on outside click and/or Escape key press.
4
+ * Supports an optional list of refs to exclude from the outside-click check
5
+ * (e.g. a trigger element that toggles the popover).
6
+ */
7
+ export declare function useDismiss(open: boolean, onClose: () => void, refs: RefObject<HTMLElement | null>[], excludeRefs?: RefObject<HTMLElement | null>[]): void;
8
+ //# sourceMappingURL=useDismiss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDismiss.d.ts","sourceRoot":"","sources":["../../src/hooks/useDismiss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,IAAI,EACnB,IAAI,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EACrC,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,QAwB9C"}
@@ -0,0 +1,7 @@
1
+ import { type RefObject } from "react";
2
+ /**
3
+ * Returns whether a popup should open upward: true when the space below the
4
+ * trigger can't fit the menu (measured once the menu mounts on `open`).
5
+ */
6
+ export declare function useDropUp(open: boolean, triggerRef: RefObject<HTMLElement | null>, menuRef: RefObject<HTMLElement | null>): boolean;
7
+ //# sourceMappingURL=useDropUp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropUp.d.ts","sourceRoot":"","sources":["../../src/hooks/useDropUp.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE;;;GAGG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACzC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GACrC,OAAO,CAcT"}
@@ -0,0 +1,7 @@
1
+ import { type RefObject } from "react";
2
+ /**
3
+ * Traps focus within the given container while `active` is true.
4
+ * Restores focus to the previously-focused element on deactivation.
5
+ */
6
+ export declare function useFocusTrap(containerRef: RefObject<HTMLElement | null>, active: boolean): void;
7
+ //# sourceMappingURL=useFocusTrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,OAAO,QA6ChB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Surfaces the user settings (color mode, accent, fonts, and live theme
3
+ * customization plus its persistence). Without a <SettingsProvider> ancestor it
4
+ * falls back to the inert context defaults (setters are no-ops) rather than
5
+ * throwing.
6
+ */
7
+ export declare function useSettings(): import("..").SettingsContextValue;
8
+ //# sourceMappingURL=useSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSettings.d.ts","sourceRoot":"","sources":["../../src/hooks/useSettings.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,WAAW,sCAE1B"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns the resolved active theme. Without a <ThemeProvider> ancestor it
3
+ * falls back to the context default ("dark") rather than throwing.
4
+ */
5
+ export declare function useTheme(): import("..").ThemeContextValue;
6
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,QAAQ,mCAEvB"}
@@ -0,0 +1,91 @@
1
+ export * from "./components/charts/AreaChart";
2
+ export * from "./components/charts/BarChart";
3
+ export * from "./components/charts/DonutChart";
4
+ export * from "./components/charts/RadarChart";
5
+ export * from "./components/charts/RadialBarChart";
6
+ export * from "./components/charts/SparkLine";
7
+ export * from "./components/charts/VerticalBarChart";
8
+ export * from "./components/app-shell/AppShell";
9
+ export * from "./components/app-shell/AuthLayout";
10
+ export * from "./components/app-shell/BackLink";
11
+ export * from "./components/app-shell/BottomNav";
12
+ export * from "./components/app-shell/Breadcrumbs";
13
+ export * from "./components/app-shell/CommandPalette";
14
+ export * from "./components/app-shell/commandPaletteEvents";
15
+ export * from "./components/app-shell/MobileDrawer";
16
+ export * from "./components/app-shell/navigation";
17
+ export * from "./components/app-shell/Sidebar";
18
+ export * from "./components/app-shell/TopBar";
19
+ export * from "./components/app-shell/types";
20
+ export * from "./components/tables/ColumnPicker";
21
+ export * from "./components/tables/Pagination";
22
+ export * from "./components/tables/ResourceTable";
23
+ export * from "./components/tables/sortRows";
24
+ export * from "./components/ui/Alert";
25
+ export * from "./components/ui/AuthCard";
26
+ export * from "./components/ui/AuthorByline";
27
+ export * from "./components/ui/Avatar";
28
+ export * from "./components/ui/Badge";
29
+ export * from "./components/ui/Button";
30
+ export * from "./components/ui/CalendarGrid";
31
+ export * from "./components/ui/Card";
32
+ export * from "./components/ui/Checkbox";
33
+ export * from "./components/ui/Combobox";
34
+ export * from "./components/ui/DangerZone";
35
+ export * from "./components/ui/DatePicker";
36
+ export * from "./components/ui/DateRangePicker";
37
+ export * from "./components/ui/DateTimePicker";
38
+ export * from "./components/ui/DetailPanel";
39
+ export * from "./components/ui/Dialog";
40
+ export * from "./components/ui/DialogActions";
41
+ export * from "./components/ui/DividerLabel";
42
+ export * from "./components/ui/DropdownMenu";
43
+ export * from "./components/ui/EmptyState";
44
+ export * from "./components/ui/ErrorBoundary";
45
+ export * from "./components/ui/FilterButton";
46
+ export * from "./components/ui/FilterDropdown";
47
+ export * from "./components/ui/Kbd";
48
+ export * from "./components/ui/LoadingSpinner";
49
+ export * from "./components/ui/MetadataGrid";
50
+ export * from "./components/ui/MetricCard";
51
+ export * from "./components/ui/OAuthButton";
52
+ export * from "./components/ui/PageHeader";
53
+ export * from "./components/ui/PageSection";
54
+ export * from "./components/ui/PaginationBar";
55
+ export * from "./components/ui/PasswordInput";
56
+ export * from "./components/ui/ProfileHeader";
57
+ export * from "./components/ui/ProseContent";
58
+ export * from "./components/ui/RadioPill";
59
+ export * from "./components/ui/SearchInput";
60
+ export * from "./components/ui/SectionHeader";
61
+ export * from "./components/ui/Select";
62
+ export * from "./components/ui/SelectDropdown";
63
+ export * from "./components/ui/SettingRow";
64
+ export * from "./components/ui/Slider";
65
+ export * from "./components/ui/SideSheet";
66
+ export * from "./components/ui/SplitPaneLayout";
67
+ export * from "./components/ui/StatusDot";
68
+ export * from "./components/ui/StepProgress";
69
+ export * from "./components/ui/Tabs";
70
+ export * from "./components/ui/Textarea";
71
+ export * from "./components/ui/TextInput";
72
+ export * from "./components/ui/Timeline";
73
+ export * from "./components/ui/Toast";
74
+ export * from "./components/ui/Toggle";
75
+ export * from "./components/ui/Tooltip";
76
+ export * from "./components/ui/Toolbar";
77
+ export * from "./components/ui/ThemePreview";
78
+ export * from "./components/ui/UploadDropzone";
79
+ export * from "./hooks/useDismiss";
80
+ export * from "./hooks/useFocusTrap";
81
+ export * from "./hooks/useApplyTheme";
82
+ export * from "./hooks/useSettings";
83
+ export * from "./hooks/useTheme";
84
+ export * from "./lib/cn";
85
+ export * from "./lib/formatDate";
86
+ export * from "./config/theme";
87
+ export * from "./providers/SettingsContext";
88
+ export * from "./providers/SettingsProvider";
89
+ export * from "./providers/ThemeContext";
90
+ export * from "./providers/ThemeProvider";
91
+ //# 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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"}