@dofe/sso-ui 0.1.1

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 (164) hide show
  1. package/README.md +277 -0
  2. package/dist/components/accordion.d.ts +8 -0
  3. package/dist/components/accordion.d.ts.map +1 -0
  4. package/dist/components/accordion.js +19 -0
  5. package/dist/components/accordion.js.map +1 -0
  6. package/dist/components/alert.d.ts +9 -0
  7. package/dist/components/alert.d.ts.map +1 -0
  8. package/dist/components/alert.js +24 -0
  9. package/dist/components/alert.js.map +1 -0
  10. package/dist/components/avatar.d.ts +9 -0
  11. package/dist/components/avatar.d.ts.map +1 -0
  12. package/dist/components/avatar.js +15 -0
  13. package/dist/components/avatar.js.map +1 -0
  14. package/dist/components/badge.d.ts +10 -0
  15. package/dist/components/badge.d.ts.map +1 -0
  16. package/dist/components/badge.js +22 -0
  17. package/dist/components/badge.js.map +1 -0
  18. package/dist/components/button.d.ts +11 -0
  19. package/dist/components/button.d.ts.map +1 -0
  20. package/dist/components/button.js +34 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/button.stories.d.ts +61 -0
  23. package/dist/components/button.stories.d.ts.map +1 -0
  24. package/dist/components/button.stories.js +143 -0
  25. package/dist/components/button.stories.js.map +1 -0
  26. package/dist/components/calendar.d.ts +9 -0
  27. package/dist/components/calendar.d.ts.map +1 -0
  28. package/dist/components/calendar.js +41 -0
  29. package/dist/components/calendar.js.map +1 -0
  30. package/dist/components/card.d.ts +10 -0
  31. package/dist/components/card.d.ts.map +1 -0
  32. package/dist/components/card.js +25 -0
  33. package/dist/components/card.js.map +1 -0
  34. package/dist/components/carousel.d.ts +20 -0
  35. package/dist/components/carousel.d.ts.map +1 -0
  36. package/dist/components/carousel.js +92 -0
  37. package/dist/components/carousel.js.map +1 -0
  38. package/dist/components/checkbox.d.ts +5 -0
  39. package/dist/components/checkbox.d.ts.map +1 -0
  40. package/dist/components/checkbox.js +10 -0
  41. package/dist/components/checkbox.js.map +1 -0
  42. package/dist/components/command.d.ts +18 -0
  43. package/dist/components/command.d.ts.map +1 -0
  44. package/dist/components/command.js +35 -0
  45. package/dist/components/command.js.map +1 -0
  46. package/dist/components/dialog.d.ts +13 -0
  47. package/dist/components/dialog.d.ts.map +1 -0
  48. package/dist/components/dialog.js +34 -0
  49. package/dist/components/dialog.js.map +1 -0
  50. package/dist/components/dropdown-menu.d.ts +26 -0
  51. package/dist/components/dropdown-menu.d.ts.map +1 -0
  52. package/dist/components/dropdown-menu.js +52 -0
  53. package/dist/components/dropdown-menu.js.map +1 -0
  54. package/dist/components/empty.d.ts +12 -0
  55. package/dist/components/empty.d.ts.map +1 -0
  56. package/dist/components/empty.js +34 -0
  57. package/dist/components/empty.js.map +1 -0
  58. package/dist/components/field.d.ts +25 -0
  59. package/dist/components/field.d.ts.map +1 -0
  60. package/dist/components/field.js +77 -0
  61. package/dist/components/field.js.map +1 -0
  62. package/dist/components/form.d.ts +24 -0
  63. package/dist/components/form.d.ts.map +1 -0
  64. package/dist/components/form.js +62 -0
  65. package/dist/components/form.js.map +1 -0
  66. package/dist/components/input-group.d.ts +17 -0
  67. package/dist/components/input-group.d.ts.map +1 -0
  68. package/dist/components/input-group.js +64 -0
  69. package/dist/components/input-group.js.map +1 -0
  70. package/dist/components/input.d.ts +4 -0
  71. package/dist/components/input.d.ts.map +1 -0
  72. package/dist/components/input.js +7 -0
  73. package/dist/components/input.js.map +1 -0
  74. package/dist/components/item.d.ts +24 -0
  75. package/dist/components/item.d.ts.map +1 -0
  76. package/dist/components/item.js +67 -0
  77. package/dist/components/item.js.map +1 -0
  78. package/dist/components/label.d.ts +5 -0
  79. package/dist/components/label.d.ts.map +1 -0
  80. package/dist/components/label.js +9 -0
  81. package/dist/components/label.js.map +1 -0
  82. package/dist/components/password-strength.d.ts +84 -0
  83. package/dist/components/password-strength.d.ts.map +1 -0
  84. package/dist/components/password-strength.js +138 -0
  85. package/dist/components/password-strength.js.map +1 -0
  86. package/dist/components/popover.d.ts +8 -0
  87. package/dist/components/popover.d.ts.map +1 -0
  88. package/dist/components/popover.js +18 -0
  89. package/dist/components/popover.js.map +1 -0
  90. package/dist/components/progress.d.ts +8 -0
  91. package/dist/components/progress.d.ts.map +1 -0
  92. package/dist/components/progress.js +11 -0
  93. package/dist/components/progress.js.map +1 -0
  94. package/dist/components/scroll-area.d.ts +6 -0
  95. package/dist/components/scroll-area.d.ts.map +1 -0
  96. package/dist/components/scroll-area.js +13 -0
  97. package/dist/components/scroll-area.js.map +1 -0
  98. package/dist/components/select.d.ts +16 -0
  99. package/dist/components/select.d.ts.map +1 -0
  100. package/dist/components/select.js +39 -0
  101. package/dist/components/select.js.map +1 -0
  102. package/dist/components/separator.d.ts +5 -0
  103. package/dist/components/separator.d.ts.map +1 -0
  104. package/dist/components/separator.js +9 -0
  105. package/dist/components/separator.js.map +1 -0
  106. package/dist/components/sheet.d.ts +14 -0
  107. package/dist/components/sheet.d.ts.map +1 -0
  108. package/dist/components/sheet.js +41 -0
  109. package/dist/components/sheet.js.map +1 -0
  110. package/dist/components/sidebar.d.ts +70 -0
  111. package/dist/components/sidebar.d.ts.map +1 -0
  112. package/dist/components/sidebar.js +216 -0
  113. package/dist/components/sidebar.js.map +1 -0
  114. package/dist/components/skeleton.d.ts +3 -0
  115. package/dist/components/skeleton.d.ts.map +1 -0
  116. package/dist/components/skeleton.js +7 -0
  117. package/dist/components/skeleton.js.map +1 -0
  118. package/dist/components/slider.d.ts +13 -0
  119. package/dist/components/slider.d.ts.map +1 -0
  120. package/dist/components/slider.js +29 -0
  121. package/dist/components/slider.js.map +1 -0
  122. package/dist/components/sonner.d.ts +4 -0
  123. package/dist/components/sonner.d.ts.map +1 -0
  124. package/dist/components/sonner.js +22 -0
  125. package/dist/components/sonner.js.map +1 -0
  126. package/dist/components/switch.d.ts +5 -0
  127. package/dist/components/switch.d.ts.map +1 -0
  128. package/dist/components/switch.js +9 -0
  129. package/dist/components/switch.js.map +1 -0
  130. package/dist/components/table.d.ts +9 -0
  131. package/dist/components/table.d.ts.map +1 -0
  132. package/dist/components/table.js +18 -0
  133. package/dist/components/table.js.map +1 -0
  134. package/dist/components/tabs.d.ts +8 -0
  135. package/dist/components/tabs.d.ts.map +1 -0
  136. package/dist/components/tabs.js +18 -0
  137. package/dist/components/tabs.js.map +1 -0
  138. package/dist/components/textarea.d.ts +4 -0
  139. package/dist/components/textarea.d.ts.map +1 -0
  140. package/dist/components/textarea.js +7 -0
  141. package/dist/components/textarea.js.map +1 -0
  142. package/dist/components/theme-toggle.d.ts +2 -0
  143. package/dist/components/theme-toggle.d.ts.map +1 -0
  144. package/dist/components/theme-toggle.js +19 -0
  145. package/dist/components/theme-toggle.js.map +1 -0
  146. package/dist/components/tooltip.d.ts +8 -0
  147. package/dist/components/tooltip.d.ts.map +1 -0
  148. package/dist/components/tooltip.js +18 -0
  149. package/dist/components/tooltip.js.map +1 -0
  150. package/dist/hooks/use-mobile.d.ts +2 -0
  151. package/dist/hooks/use-mobile.d.ts.map +1 -0
  152. package/dist/hooks/use-mobile.js +17 -0
  153. package/dist/hooks/use-mobile.js.map +1 -0
  154. package/dist/index.d.ts +38 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +41 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/lib/utils.d.ts +3 -0
  159. package/dist/lib/utils.d.ts.map +1 -0
  160. package/dist/lib/utils.js +6 -0
  161. package/dist/lib/utils.js.map +1 -0
  162. package/package.json +110 -0
  163. package/postcss.config.mjs +6 -0
  164. package/src/styles/globals.css +134 -0
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as LabelPrimitive from '@radix-ui/react-label';
4
+ import { cn } from '@repo/utils';
5
+ function Label({ className, ...props }) {
6
+ return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn('flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50', className), ...props }));
7
+ }
8
+ export { Label };
9
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,SAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACyC;IACjD,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,iBACR,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qNAAqN,EACrN,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,84 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { type PasswordStrengthLevel, type PasswordStrengthResult } from '@repo/validators';
4
+ /**
5
+ * Password strength bar variants
6
+ */
7
+ declare const strengthBarVariants: (props?: ({
8
+ level?: "strong" | "weak" | "medium" | "very_strong" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ /**
11
+ * Strength level labels (internationalization-ready)
12
+ */
13
+ declare const strengthLabels: Record<PasswordStrengthLevel, {
14
+ en: string;
15
+ zh: string;
16
+ }>;
17
+ export interface PasswordStrengthProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof strengthBarVariants> {
18
+ /** Password to evaluate */
19
+ password: string;
20
+ /** Show suggestions for improvement */
21
+ showSuggestions?: boolean;
22
+ /** Language for labels */
23
+ locale?: 'en' | 'zh';
24
+ /** Minimum password length to start showing strength */
25
+ minLengthToShow?: number;
26
+ /** Custom class for the container */
27
+ containerClassName?: string;
28
+ /** Custom class for the bar track */
29
+ trackClassName?: string;
30
+ /** Custom class for suggestions */
31
+ suggestionsClassName?: string;
32
+ /** Callback when strength changes */
33
+ onStrengthChange?: (result: PasswordStrengthResult) => void;
34
+ }
35
+ /**
36
+ * Password Strength Indicator Component
37
+ *
38
+ * Displays a visual indicator of password strength with:
39
+ * - Color-coded progress bar (red/yellow/green)
40
+ * - Strength level text
41
+ * - Optional improvement suggestions
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <PasswordStrength
46
+ * password={password}
47
+ * showSuggestions
48
+ * locale="zh"
49
+ * />
50
+ * ```
51
+ */
52
+ declare function PasswordStrength({ password, showSuggestions, locale, minLengthToShow, containerClassName, trackClassName, suggestionsClassName, className, onStrengthChange, ...props }: PasswordStrengthProps): import("react/jsx-runtime").JSX.Element | null;
53
+ /**
54
+ * usePasswordStrength hook
55
+ *
56
+ * Custom hook for password strength validation with real-time updates.
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * const { strength, isStrong, suggestions } = usePasswordStrength(password);
61
+ * ```
62
+ */
63
+ declare function usePasswordStrength(password: string, minLength?: number): {
64
+ /** Full strength result */
65
+ result: PasswordStrengthResult | null;
66
+ /** Current strength level */
67
+ level: PasswordStrengthLevel | null;
68
+ /** Numeric score (0-7) */
69
+ score: number;
70
+ /** Improvement suggestions */
71
+ suggestions: string[];
72
+ /** Whether password meets minimum requirements */
73
+ isWeak: boolean;
74
+ /** Whether password is medium strength */
75
+ isMedium: boolean;
76
+ /** Whether password is strong enough */
77
+ isStrong: boolean;
78
+ /** Whether password is very strong */
79
+ isVeryStrong: boolean;
80
+ /** Check if password meets a minimum level */
81
+ meetsLevel: (minLevel: PasswordStrengthLevel) => boolean;
82
+ };
83
+ export { PasswordStrength, usePasswordStrength, strengthLabels };
84
+ //# sourceMappingURL=password-strength.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-strength.d.ts","sourceRoot":"","sources":["../../src/components/password-strength.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,QAAA,MAAM,mBAAmB;;8EAexB,CAAC;AAmBF;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,MAAM,CAC1B,qBAAqB,EACrB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAM3B,CAAC;AAEF,MAAM,WAAW,qBACf,SACE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAC1C,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,gBAAgB,CAAC,EACxB,QAAQ,EACR,eAAsB,EACtB,MAAa,EACb,eAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,qBAAqB,kDAgFvB;AAED;;;;;;;;;GASG;AACH,iBAAS,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAI;IAcxD,2BAA2B;;IAE3B,6BAA6B;;IAE7B,0BAA0B;;IAE1B,8BAA8B;;IAE9B,kDAAkD;;IAElD,0CAA0C;;IAE1C,wCAAwC;;IAExC,sCAAsC;;IAEtC,8CAA8C;2BACvB,qBAAqB;EAW/C;AAED,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,138 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { cn } from '@repo/utils';
5
+ import { cva } from 'class-variance-authority';
6
+ import { checkPasswordStrength, } from '@repo/validators';
7
+ /**
8
+ * Password strength bar variants
9
+ */
10
+ const strengthBarVariants = cva('h-1.5 rounded-full transition-all duration-300', {
11
+ variants: {
12
+ level: {
13
+ weak: 'bg-red-500',
14
+ medium: 'bg-yellow-500',
15
+ strong: 'bg-green-500',
16
+ very_strong: 'bg-emerald-600',
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ level: 'weak',
21
+ },
22
+ });
23
+ /**
24
+ * Password strength text variants
25
+ */
26
+ const strengthTextVariants = cva('text-xs font-medium', {
27
+ variants: {
28
+ level: {
29
+ weak: 'text-red-600 dark:text-red-400',
30
+ medium: 'text-yellow-600 dark:text-yellow-400',
31
+ strong: 'text-green-600 dark:text-green-400',
32
+ very_strong: 'text-emerald-700 dark:text-emerald-400',
33
+ },
34
+ },
35
+ defaultVariants: {
36
+ level: 'weak',
37
+ },
38
+ });
39
+ /**
40
+ * Strength level labels (internationalization-ready)
41
+ */
42
+ const strengthLabels = {
43
+ weak: { en: 'Weak', zh: '弱' },
44
+ medium: { en: 'Medium', zh: '中' },
45
+ strong: { en: 'Strong', zh: '强' },
46
+ very_strong: { en: 'Very Strong', zh: '非常强' },
47
+ };
48
+ /**
49
+ * Password Strength Indicator Component
50
+ *
51
+ * Displays a visual indicator of password strength with:
52
+ * - Color-coded progress bar (red/yellow/green)
53
+ * - Strength level text
54
+ * - Optional improvement suggestions
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * <PasswordStrength
59
+ * password={password}
60
+ * showSuggestions
61
+ * locale="zh"
62
+ * />
63
+ * ```
64
+ */
65
+ function PasswordStrength({ password, showSuggestions = true, locale = 'en', minLengthToShow = 1, containerClassName, trackClassName, suggestionsClassName, className, onStrengthChange, ...props }) {
66
+ const [result, setResult] = React.useState(null);
67
+ React.useEffect(() => {
68
+ if (password && password.length >= minLengthToShow) {
69
+ const strengthResult = checkPasswordStrength(password);
70
+ setResult(strengthResult);
71
+ onStrengthChange?.(strengthResult);
72
+ }
73
+ else {
74
+ setResult(null);
75
+ }
76
+ }, [password, minLengthToShow, onStrengthChange]);
77
+ // Don't render if password is too short
78
+ if (!password || password.length < minLengthToShow || !result) {
79
+ return null;
80
+ }
81
+ // Calculate bar width percentage based on score (0-7)
82
+ const widthPercentage = Math.min(100, Math.round((result.score / 7) * 100));
83
+ const strengthLabel = strengthLabels[result.level][locale];
84
+ return (_jsxs("div", { className: cn('space-y-2', containerClassName), "data-slot": "password-strength", ...props, children: [_jsxs("div", { className: cn('space-y-1', className), children: [_jsx("div", { className: cn('h-1.5 w-full rounded-full bg-gray-200 dark:bg-gray-700', trackClassName), children: _jsx("div", { className: strengthBarVariants({ level: result.level }), style: { width: `${widthPercentage}%` }, role: "progressbar", "aria-valuenow": result.score, "aria-valuemin": 0, "aria-valuemax": 7, "aria-label": `Password strength: ${strengthLabel}` }) }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: strengthTextVariants({ level: result.level }), children: strengthLabel }), _jsxs("span", { className: "text-xs text-muted-foreground", children: [result.score, "/7"] })] })] }), showSuggestions && result.suggestions.length > 0 && (_jsx("ul", { className: cn('space-y-0.5 text-xs text-muted-foreground', suggestionsClassName), children: result.suggestions.map((suggestion, index) => (_jsxs("li", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-yellow-500", children: "\u2022" }), suggestion] }, index))) }))] }));
85
+ }
86
+ /**
87
+ * usePasswordStrength hook
88
+ *
89
+ * Custom hook for password strength validation with real-time updates.
90
+ *
91
+ * @example
92
+ * ```tsx
93
+ * const { strength, isStrong, suggestions } = usePasswordStrength(password);
94
+ * ```
95
+ */
96
+ function usePasswordStrength(password, minLength = 1) {
97
+ const [result, setResult] = React.useState(null);
98
+ React.useEffect(() => {
99
+ if (password && password.length >= minLength) {
100
+ setResult(checkPasswordStrength(password));
101
+ }
102
+ else {
103
+ setResult(null);
104
+ }
105
+ }, [password, minLength]);
106
+ return {
107
+ /** Full strength result */
108
+ result,
109
+ /** Current strength level */
110
+ level: result?.level ?? null,
111
+ /** Numeric score (0-7) */
112
+ score: result?.score ?? 0,
113
+ /** Improvement suggestions */
114
+ suggestions: result?.suggestions ?? [],
115
+ /** Whether password meets minimum requirements */
116
+ isWeak: result?.level === 'weak',
117
+ /** Whether password is medium strength */
118
+ isMedium: result?.level === 'medium',
119
+ /** Whether password is strong enough */
120
+ isStrong: result?.level === 'strong' || result?.level === 'very_strong',
121
+ /** Whether password is very strong */
122
+ isVeryStrong: result?.level === 'very_strong',
123
+ /** Check if password meets a minimum level */
124
+ meetsLevel: (minLevel) => {
125
+ if (!result)
126
+ return false;
127
+ const levels = [
128
+ 'weak',
129
+ 'medium',
130
+ 'strong',
131
+ 'very_strong',
132
+ ];
133
+ return levels.indexOf(result.level) >= levels.indexOf(minLevel);
134
+ },
135
+ };
136
+ }
137
+ export { PasswordStrength, usePasswordStrength, strengthLabels };
138
+ //# sourceMappingURL=password-strength.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-strength.js","sourceRoot":"","sources":["../../src/components/password-strength.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
6
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): import("react/jsx-runtime").JSX.Element;
7
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
8
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/components/popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,iBAAS,OAAO,CAAC,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAEpD;AAED,iBAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAEvD;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAevD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,2CAEtD;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
4
+ import { cn } from '@repo/utils';
5
+ function Popover({ ...props }) {
6
+ return _jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
7
+ }
8
+ function PopoverTrigger({ ...props }) {
9
+ return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
10
+ }
11
+ function PopoverContent({ className, align = 'center', sideOffset = 4, ...props }) {
12
+ return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden', className), ...props }) }));
13
+ }
14
+ function PopoverAnchor({ ...props }) {
15
+ return _jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
16
+ }
17
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
18
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/components/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,SAAS,OAAO,CAAC,EACf,GAAG,KAAK,EAC2C;IACnD,OAAO,KAAC,gBAAgB,CAAC,IAAI,iBAAW,SAAS,KAAK,KAAK,GAAI,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EAC8C;IACtD,OAAO,KAAC,gBAAgB,CAAC,OAAO,iBAAW,iBAAiB,KAAK,KAAK,GAAI,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAK,GAAG,QAAQ,EAChB,UAAU,GAAG,CAAC,EACd,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,KAAC,gBAAgB,CAAC,MAAM,cACtB,KAAC,gBAAgB,CAAC,OAAO,iBACb,iBAAiB,EAC3B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX,geAAge,EAChe,SAAS,CACV,KACG,KAAK,GACT,GACsB,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EAC6C;IACrD,OAAO,KAAC,gBAAgB,CAAC,MAAM,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ value?: number;
4
+ max?: number;
5
+ }
6
+ declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { Progress };
8
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,QAAQ,sFAoBb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { cn } from '@repo/utils';
5
+ const Progress = React.forwardRef(({ className, value = 0, max = 100, ...props }, ref) => {
6
+ const percentage = Math.min(Math.max((value / max) * 100, 0), 100);
7
+ return (_jsx("div", { ref: ref, className: cn('relative h-4 w-full overflow-hidden rounded-full bg-secondary', className), ...props, children: _jsx("div", { className: "h-full bg-primary transition-all duration-300 ease-in-out", style: { width: `${percentage}%` } }) }));
8
+ });
9
+ Progress.displayName = 'Progress';
10
+ export { Progress };
11
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAQjC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAC/B,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEnE,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,KACG,KAAK,YAET,cACE,SAAS,EAAC,2DAA2D,EACrE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,EAAE,GAClC,GACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AACF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
3
+ declare const ScrollArea: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const ScrollBar: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ export { ScrollArea, ScrollBar };
6
+ //# sourceMappingURL=scroll-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../src/components/scroll-area.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAInE,QAAA,MAAM,UAAU,+JAed,CAAC;AAGH,QAAA,MAAM,SAAS,wKAmBb,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
5
+ import { cn } from '@repo/utils';
6
+ const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ScrollAreaPrimitive.Root, { ref: ref, className: cn('relative overflow-hidden', className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] })));
7
+ ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
8
+ const ScrollBar = React.forwardRef(({ className, orientation = 'vertical', ...props }, ref) => (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { ref: ref, orientation: orientation, className: cn('flex touch-none select-none transition-colors', orientation === 'vertical' &&
9
+ 'h-full w-2.5 border-l border-l-transparent p-[1px]', orientation === 'horizontal' &&
10
+ 'h-2.5 flex-col border-t border-t-transparent p-[1px]', className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" }) })));
11
+ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
12
+ export { ScrollArea, ScrollBar };
13
+ //# sourceMappingURL=scroll-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.js","sourceRoot":"","sources":["../../src/components/scroll-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1C,MAAC,mBAAmB,CAAC,IAAI,IACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAChD,KAAK,aAET,KAAC,mBAAmB,CAAC,QAAQ,IAAC,SAAS,EAAC,iCAAiC,YACpE,QAAQ,GACkB,EAC/B,KAAC,SAAS,KAAG,EACb,KAAC,mBAAmB,CAAC,MAAM,KAAG,IACP,CAC9B,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE9D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1D,KAAC,mBAAmB,CAAC,mBAAmB,IACpC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACT,+CAA+C,EAC/C,WAAW,KAAK,UAAU;QACtB,oDAAoD,EACxD,WAAW,KAAK,YAAY;QACxB,sDAAsD,EAC1D,SAAS,CACZ,KACG,KAAK,YAET,KAAC,mBAAmB,CAAC,eAAe,IAAC,SAAS,EAAC,wCAAwC,GAAG,GACpD,CAC7C,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,WAAW,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import * as SelectPrimitive from '@radix-ui/react-select';
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: 'sm' | 'default';
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
16
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAiBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAyB,EACzB,KAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAqBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC"}
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as SelectPrimitive from '@radix-ui/react-select';
4
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';
5
+ import { cn } from '@repo/utils';
6
+ function Select({ ...props }) {
7
+ return _jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
8
+ }
9
+ function SelectGroup({ ...props }) {
10
+ return _jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
11
+ }
12
+ function SelectValue({ ...props }) {
13
+ return _jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
14
+ }
15
+ function SelectTrigger({ className, size = 'default', children, ...props }) {
16
+ return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
17
+ }
18
+ function SelectContent({ className, children, position = 'item-aligned', align = 'center', ...props }) {
19
+ return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { "data-slot": "select-content", className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md', position === 'popper' &&
20
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, align: align, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn('p-1', position === 'popper' &&
21
+ 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1'), children: children }), _jsx(SelectScrollDownButton, {})] }) }));
22
+ }
23
+ function SelectLabel({ className, ...props }) {
24
+ return (_jsx(SelectPrimitive.Label, { "data-slot": "select-label", className: cn('text-muted-foreground px-2 py-1.5 text-xs', className), ...props }));
25
+ }
26
+ function SelectItem({ className, children, ...props }) {
27
+ return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className), ...props, children: [_jsx("span", { "data-slot": "select-item-indicator", className: "absolute right-2 flex size-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] }));
28
+ }
29
+ function SelectSeparator({ className, ...props }) {
30
+ return (_jsx(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn('bg-border pointer-events-none -mx-1 my-1 h-px', className), ...props }));
31
+ }
32
+ function SelectScrollUpButton({ className, ...props }) {
33
+ return (_jsx(SelectPrimitive.ScrollUpButton, { "data-slot": "select-scroll-up-button", className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronUpIcon, { className: "size-4" }) }));
34
+ }
35
+ function SelectScrollDownButton({ className, ...props }) {
36
+ return (_jsx(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronDownIcon, { className: "size-4" }) }));
37
+ }
38
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
39
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Separator };
5
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../src/components/separator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAIhE,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAA0B,EAC1B,UAAiB,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAatD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
4
+ import { cn } from '@repo/utils';
5
+ function Separator({ className, orientation = 'horizontal', decorative = true, ...props }) {
6
+ return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator", decorative: decorative, orientation: orientation, className: cn('bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px', className), ...props }));
7
+ }
8
+ export { Separator };
9
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/components/separator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAW,GAAG,YAAY,EAC1B,UAAU,GAAG,IAAI,EACjB,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,WAAW,EACrB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,gKAAgK,EAChK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
3
+ declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SheetContent({ className, children, side, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
7
+ side?: 'top' | 'right' | 'bottom' | 'left';
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SheetHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SheetFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
13
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
14
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/components/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAKzD,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAE5E;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,2CAErD;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAEnD;AAwBD,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,IAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG;IACvD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C,2CA4BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAQnD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,2CAQzD;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,CAAC"}
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
4
+ import { XIcon } from 'lucide-react';
5
+ import { cn } from '@repo/utils';
6
+ function Sheet({ ...props }) {
7
+ return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
8
+ }
9
+ function SheetTrigger({ ...props }) {
10
+ return _jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
11
+ }
12
+ function SheetClose({ ...props }) {
13
+ return _jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
14
+ }
15
+ function SheetPortal({ ...props }) {
16
+ return _jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
17
+ }
18
+ function SheetOverlay({ className, ...props }) {
19
+ return (_jsx(SheetPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 transition-opacity duration-300', className), ...props }));
20
+ }
21
+ function SheetContent({ className, children, side = 'right', ...props }) {
22
+ return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { "data-slot": "sheet-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition-all ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-300', side === 'right' &&
23
+ 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm', side === 'left' &&
24
+ 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm', side === 'top' &&
25
+ 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', side === 'bottom' &&
26
+ 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, _jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] }));
27
+ }
28
+ function SheetHeader({ className, ...props }) {
29
+ return (_jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
30
+ }
31
+ function SheetFooter({ className, ...props }) {
32
+ return (_jsx("div", { "data-slot": "sheet-footer", className: cn('mt-auto flex flex-col gap-2 p-4', className), ...props }));
33
+ }
34
+ function SheetTitle({ className, ...props }) {
35
+ return (_jsx(SheetPrimitive.Title, { "data-slot": "sheet-title", className: cn('text-foreground font-semibold', className), ...props }));
36
+ }
37
+ function SheetDescription({ className, ...props }) {
38
+ return (_jsx(SheetPrimitive.Description, { "data-slot": "sheet-description", className: cn('text-muted-foreground text-sm', className), ...props }));
39
+ }
40
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
41
+ //# sourceMappingURL=sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/components/sheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { Button } from './button';
4
+ import { Input } from './input';
5
+ import { Separator } from './separator';
6
+ import { TooltipContent } from './tooltip';
7
+ type SidebarContextProps = {
8
+ state: 'expanded' | 'collapsed';
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ openMobile: boolean;
12
+ setOpenMobile: (open: boolean) => void;
13
+ isMobile: boolean;
14
+ toggleSidebar: () => void;
15
+ };
16
+ declare function useSidebar(): SidebarContextProps;
17
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<'div'> & {
18
+ defaultOpen?: boolean;
19
+ open?: boolean;
20
+ onOpenChange?: (open: boolean) => void;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React.ComponentProps<'div'> & {
23
+ side?: 'left' | 'right';
24
+ variant?: 'sidebar' | 'floating' | 'inset';
25
+ collapsible?: 'offcanvas' | 'icon' | 'none';
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
28
+ declare function SidebarRail({ className, ...props }: React.ComponentProps<'button'>): import("react/jsx-runtime").JSX.Element;
29
+ declare function SidebarInset({ className, ...props }: React.ComponentProps<'main'>): import("react/jsx-runtime").JSX.Element;
30
+ declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): import("react/jsx-runtime").JSX.Element;
31
+ declare function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
32
+ declare function SidebarFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
33
+ declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
34
+ declare function SidebarContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
35
+ declare function SidebarGroup({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
36
+ declare function SidebarGroupLabel({ className, asChild, ...props }: React.ComponentProps<'div'> & {
37
+ asChild?: boolean;
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ declare function SidebarGroupAction({ className, asChild, ...props }: React.ComponentProps<'button'> & {
40
+ asChild?: boolean;
41
+ }): import("react/jsx-runtime").JSX.Element;
42
+ declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
43
+ declare function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>): import("react/jsx-runtime").JSX.Element;
44
+ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>): import("react/jsx-runtime").JSX.Element;
45
+ declare const sidebarMenuButtonVariants: (props?: ({
46
+ variant?: "default" | "outline" | null | undefined;
47
+ size?: "default" | "sm" | "lg" | null | undefined;
48
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
49
+ declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<'button'> & {
50
+ asChild?: boolean;
51
+ isActive?: boolean;
52
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
53
+ } & VariantProps<typeof sidebarMenuButtonVariants>): import("react/jsx-runtime").JSX.Element;
54
+ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React.ComponentProps<'button'> & {
55
+ asChild?: boolean;
56
+ showOnHover?: boolean;
57
+ }): import("react/jsx-runtime").JSX.Element;
58
+ declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
59
+ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React.ComponentProps<'div'> & {
60
+ showIcon?: boolean;
61
+ }): import("react/jsx-runtime").JSX.Element;
62
+ declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>): import("react/jsx-runtime").JSX.Element;
63
+ declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>): import("react/jsx-runtime").JSX.Element;
64
+ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React.ComponentProps<'a'> & {
65
+ asChild?: boolean;
66
+ size?: 'sm' | 'md';
67
+ isActive?: boolean;
68
+ }): import("react/jsx-runtime").JSX.Element;
69
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, };
70
+ //# sourceMappingURL=sidebar.d.ts.map