@definable/ui 0.1.0 → 0.1.8
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.
- package/README.md +6 -6
- package/dist/alert-dialog.d.ts +18 -0
- package/dist/alert.d.ts +18 -0
- package/dist/avatar.d.ts +9 -0
- package/dist/badge.d.ts +15 -0
- package/dist/button.d.ts +16 -0
- package/dist/calendar.d.ts +21 -0
- package/dist/card.d.ts +15 -0
- package/dist/carousel.d.ts +18 -0
- package/dist/charts.d.ts +26 -0
- package/dist/checkbox.d.ts +6 -0
- package/dist/collapse.d.ts +15 -0
- package/dist/command-menu.d.ts +12 -0
- package/dist/command.d.ts +89 -0
- package/dist/components/alert-dialog.d.ts +15 -0
- package/dist/components/alert-dialog.esm.js +59 -0
- package/dist/components/alert-dialog.esm.js.map +1 -0
- package/dist/components/alert-dialog.js +2 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.d.ts +11 -0
- package/dist/components/alert.esm.js +51 -0
- package/dist/components/alert.esm.js.map +1 -0
- package/dist/components/alert.js +2 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/avatar.d.ts +5 -0
- package/dist/components/avatar.esm.js +42 -0
- package/dist/components/avatar.esm.js.map +1 -0
- package/dist/components/avatar.js +2 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +9 -0
- package/dist/components/badge.esm.js +27 -0
- package/dist/components/badge.esm.js.map +1 -0
- package/dist/components/badge.js +2 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.d.ts +13 -0
- package/dist/components/button.esm.js +48 -0
- package/dist/components/button.esm.js.map +1 -0
- package/dist/components/button.js +2 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.d.ts +18 -0
- package/dist/components/calendar.esm.js +5562 -0
- package/dist/components/calendar.esm.js.map +1 -0
- package/dist/components/calendar.js +2 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.d.ts +8 -0
- package/dist/components/card.esm.js +62 -0
- package/dist/components/card.esm.js.map +1 -0
- package/dist/components/card.js +2 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.d.ts +13 -0
- package/dist/components/carousel.esm.js +101 -0
- package/dist/components/carousel.esm.js.map +1 -0
- package/dist/components/carousel.js +2 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/charts.d.ts +17 -0
- package/dist/components/charts.esm.js +48 -0
- package/dist/components/charts.esm.js.map +1 -0
- package/dist/components/charts.js +2 -0
- package/dist/components/charts.js.map +1 -0
- package/dist/components/checkbox.d.ts +4 -0
- package/dist/components/checkbox.esm.js +32 -0
- package/dist/components/checkbox.esm.js.map +1 -0
- package/dist/components/checkbox.js +2 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapse.d.ts +11 -0
- package/dist/components/collapse.esm.js +50 -0
- package/dist/components/collapse.esm.js.map +1 -0
- package/dist/components/collapse.js +2 -0
- package/dist/components/collapse.js.map +1 -0
- package/dist/components/command-menu.d.ts +7 -0
- package/dist/components/command-menu.esm.js +90 -0
- package/dist/components/command-menu.esm.js.map +1 -0
- package/dist/components/command-menu.js +2 -0
- package/dist/components/command-menu.js.map +1 -0
- package/dist/components/command.d.ts +79 -0
- package/dist/components/command.esm.js +425 -0
- package/dist/components/command.esm.js.map +1 -0
- package/dist/components/command.js +2 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/confirmation-modal.d.ts +12 -0
- package/dist/components/confirmation-modal.esm.js +46 -0
- package/dist/components/confirmation-modal.esm.js.map +1 -0
- package/dist/components/confirmation-modal.js +2 -0
- package/dist/components/confirmation-modal.js.map +1 -0
- package/dist/components/context-menu.d.ts +26 -0
- package/dist/components/context-menu.esm.js +186 -0
- package/dist/components/context-menu.esm.js.map +1 -0
- package/dist/components/context-menu.js +2 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dialog.d.ts +21 -0
- package/dist/components/dialog.esm.js +122 -0
- package/dist/components/dialog.esm.js.map +1 -0
- package/dist/components/dialog.js +2 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +9 -0
- package/dist/components/dropdown-menu.esm.js +49 -0
- package/dist/components/dropdown-menu.esm.js.map +1 -0
- package/dist/components/dropdown-menu.js +2 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dropzone.d.ts +12 -0
- package/dist/components/dropzone.esm.js +45 -0
- package/dist/components/dropzone.esm.js.map +1 -0
- package/dist/components/dropzone.js +2 -0
- package/dist/components/dropzone.js.map +1 -0
- package/dist/components/image-cropper-modal.d.ts +10 -0
- package/dist/components/image-cropper-modal.esm.js +251 -0
- package/dist/components/image-cropper-modal.esm.js.map +1 -0
- package/dist/components/image-cropper-modal.js +2 -0
- package/dist/components/image-cropper-modal.js.map +1 -0
- package/dist/components/image-cropper.d.ts +11 -0
- package/dist/components/image-cropper.esm.js +131 -0
- package/dist/components/image-cropper.esm.js.map +1 -0
- package/dist/components/image-cropper.js +2 -0
- package/dist/components/image-cropper.js.map +1 -0
- package/dist/components/input.d.ts +5 -0
- package/dist/components/input.esm.js +22 -0
- package/dist/components/input.esm.js.map +1 -0
- package/dist/components/input.js +2 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.d.ts +4 -0
- package/dist/components/label.esm.js +20 -0
- package/dist/components/label.esm.js.map +1 -0
- package/dist/components/label.js +2 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/loader.d.ts +10 -0
- package/dist/components/loader.esm.js +70 -0
- package/dist/components/loader.esm.js.map +1 -0
- package/dist/components/loader.js +2 -0
- package/dist/components/loader.js.map +1 -0
- package/dist/components/loading-placeholder.d.ts +8 -0
- package/dist/components/loading-placeholder.esm.js +25 -0
- package/dist/components/loading-placeholder.esm.js.map +1 -0
- package/dist/components/loading-placeholder.js +2 -0
- package/dist/components/loading-placeholder.js.map +1 -0
- package/dist/components/markdown.d.ts +2 -0
- package/dist/components/markdown.esm.js +12066 -0
- package/dist/components/markdown.esm.js.map +1 -0
- package/dist/components/markdown.js +18 -0
- package/dist/components/markdown.js.map +1 -0
- package/dist/components/mention.d.ts +25 -0
- package/dist/components/mention.esm.js +154 -0
- package/dist/components/mention.esm.js.map +1 -0
- package/dist/components/mention.js +2 -0
- package/dist/components/mention.js.map +1 -0
- package/dist/components/modal.d.ts +19 -0
- package/dist/components/modal.esm.js +92 -0
- package/dist/components/modal.esm.js.map +1 -0
- package/dist/components/modal.js +2 -0
- package/dist/components/modal.js.map +1 -0
- package/dist/components/monaco-editor.d.ts +2 -0
- package/dist/components/monaco-editor.esm.js +295 -0
- package/dist/components/monaco-editor.esm.js.map +1 -0
- package/dist/components/monaco-editor.js +8 -0
- package/dist/components/monaco-editor.js.map +1 -0
- package/dist/components/notification.d.ts +5 -0
- package/dist/components/notification.esm.js +26 -0
- package/dist/components/notification.esm.js.map +1 -0
- package/dist/components/notification.js +2 -0
- package/dist/components/notification.js.map +1 -0
- package/dist/components/popover.d.ts +6 -0
- package/dist/components/popover.esm.js +24 -0
- package/dist/components/popover.esm.js.map +1 -0
- package/dist/components/popover.js +2 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.d.ts +4 -0
- package/dist/components/progress.esm.js +35 -0
- package/dist/components/progress.esm.js.map +1 -0
- package/dist/components/progress.js +2 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +5 -0
- package/dist/components/radio-group.esm.js +48 -0
- package/dist/components/radio-group.esm.js.map +1 -0
- package/dist/components/radio-group.js +2 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/scroll-area.d.ts +5 -0
- package/dist/components/scroll-area.esm.js +47 -0
- package/dist/components/scroll-area.esm.js.map +1 -0
- package/dist/components/scroll-area.js +2 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +20 -0
- package/dist/components/select.esm.js +131 -0
- package/dist/components/select.esm.js.map +1 -0
- package/dist/components/select.js +2 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/selection-bar.d.ts +11 -0
- package/dist/components/selection-bar.esm.js +54 -0
- package/dist/components/selection-bar.esm.js.map +1 -0
- package/dist/components/selection-bar.js +2 -0
- package/dist/components/selection-bar.js.map +1 -0
- package/dist/components/separator.d.ts +4 -0
- package/dist/components/separator.esm.js +25 -0
- package/dist/components/separator.esm.js.map +1 -0
- package/dist/components/separator.js +2 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.d.ts +13 -0
- package/dist/components/sheet.esm.js +129 -0
- package/dist/components/sheet.esm.js.map +1 -0
- package/dist/components/sheet.js +2 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/skeleton.d.ts +2 -0
- package/dist/components/skeleton.esm.js +18 -0
- package/dist/components/skeleton.esm.js.map +1 -0
- package/dist/components/skeleton.js +2 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +4 -0
- package/dist/components/slider.esm.js +33 -0
- package/dist/components/slider.esm.js.map +1 -0
- package/dist/components/slider.js +2 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/stepper.d.ts +2 -0
- package/dist/components/stepper.esm.js +214 -0
- package/dist/components/stepper.esm.js.map +1 -0
- package/dist/components/stepper.js +2 -0
- package/dist/components/stepper.js.map +1 -0
- package/dist/components/switch.d.ts +4 -0
- package/dist/components/switch.esm.js +36 -0
- package/dist/components/switch.esm.js.map +1 -0
- package/dist/components/switch.js +2 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table-empty.d.ts +9 -0
- package/dist/components/table-empty.esm.js +23 -0
- package/dist/components/table-empty.esm.js.map +1 -0
- package/dist/components/table-empty.js +2 -0
- package/dist/components/table-empty.js.map +1 -0
- package/dist/components/table-mobile.d.ts +4 -0
- package/dist/components/table-mobile.esm.js +92 -0
- package/dist/components/table-mobile.esm.js.map +1 -0
- package/dist/components/table-mobile.js +2 -0
- package/dist/components/table-mobile.js.map +1 -0
- package/dist/components/table.d.ts +31 -0
- package/dist/components/table.esm.js +143 -0
- package/dist/components/table.esm.js.map +1 -0
- package/dist/components/table.js +2 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +7 -0
- package/dist/components/tabs.esm.js +47 -0
- package/dist/components/tabs.esm.js.map +1 -0
- package/dist/components/tabs.js +2 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/terminal.d.ts +43 -0
- package/dist/components/terminal.esm.js +50 -0
- package/dist/components/terminal.esm.js.map +1 -0
- package/dist/components/terminal.js +2 -0
- package/dist/components/terminal.js.map +1 -0
- package/dist/components/textarea.d.ts +5 -0
- package/dist/components/textarea.esm.js +21 -0
- package/dist/components/textarea.esm.js.map +1 -0
- package/dist/components/textarea.js +2 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/tooltip.d.ts +8 -0
- package/dist/components/tooltip.esm.js +100 -0
- package/dist/components/tooltip.esm.js.map +1 -0
- package/dist/components/tooltip.js +2 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/use-toast.d.ts +21 -0
- package/dist/components/use-toast.esm.js +65 -0
- package/dist/components/use-toast.esm.js.map +1 -0
- package/dist/components/use-toast.js +2 -0
- package/dist/components/use-toast.js.map +1 -0
- package/dist/confirmation-modal.d.ts +16 -0
- package/dist/context-menu.d.ts +41 -0
- package/dist/dialog.d.ts +33 -0
- package/dist/dropdown-menu.d.ts +16 -0
- package/dist/dropzone.d.ts +16 -0
- package/dist/image-cropper-modal.d.ts +14 -0
- package/dist/image-cropper.d.ts +15 -0
- package/dist/index-DACAHwoB.js +35 -0
- package/dist/index-DACAHwoB.js.map +1 -0
- package/dist/index-Deooizx8.cjs +2 -0
- package/dist/index-Deooizx8.cjs.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.esm.js +111 -75430
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/input.d.ts +8 -0
- package/dist/jsx-runtime-BYECrxsp.cjs +31 -0
- package/dist/jsx-runtime-BYECrxsp.cjs.map +1 -0
- package/dist/jsx-runtime-DGlMoOmv.js +631 -0
- package/dist/jsx-runtime-DGlMoOmv.js.map +1 -0
- package/dist/label.d.ts +6 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.esm.js +5 -0
- package/dist/lib/utils.esm.js.map +1 -0
- package/dist/lib/utils.js +2 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/loader.d.ts +14 -0
- package/dist/loading-placeholder.d.ts +12 -0
- package/dist/markdown.d.ts +122 -0
- package/dist/mention.d.ts +29 -0
- package/dist/modal.d.ts +24 -0
- package/dist/monaco-editor.d.ts +76 -0
- package/dist/notification.d.ts +9 -0
- package/dist/popover.d.ts +10 -0
- package/dist/progress.d.ts +6 -0
- package/dist/radio-group.d.ts +8 -0
- package/dist/scroll-area.d.ts +8 -0
- package/dist/select.d.ts +31 -0
- package/dist/selection-bar.d.ts +15 -0
- package/dist/separator.d.ts +6 -0
- package/dist/sheet.d.ts +17 -0
- package/dist/skeleton.d.ts +5 -0
- package/dist/slider.d.ts +6 -0
- package/dist/stepper.d.ts +71 -0
- package/dist/styles.css +1 -1
- package/dist/switch.d.ts +6 -0
- package/dist/table-empty.d.ts +13 -0
- package/dist/table-mobile.d.ts +37 -0
- package/dist/table.d.ts +37 -0
- package/dist/tabs.d.ts +12 -0
- package/dist/terminal.d.ts +47 -0
- package/dist/textarea.d.ts +8 -0
- package/dist/tooltip.d.ts +12 -0
- package/dist/use-toast.d.ts +28 -0
- package/dist/utils-DSKoFOjv.cjs +2 -0
- package/dist/utils-DSKoFOjv.cjs.map +1 -0
- package/dist/utils-qaFjX9_3.js +2279 -0
- package/dist/utils-qaFjX9_3.js.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/package.json +259 -1
- package/dist/index.cjs.js +0 -315
- package/dist/index.cjs.js.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const ANSI: {
|
|
2
|
+
readonly RESET: "\u001B[0m";
|
|
3
|
+
readonly BOLD: "\u001B[1m";
|
|
4
|
+
readonly DIM: "\u001B[2m";
|
|
5
|
+
readonly ITALIC: "\u001B[3m";
|
|
6
|
+
readonly UNDERLINE: "\u001B[4m";
|
|
7
|
+
readonly BLINK: "\u001B[5m";
|
|
8
|
+
readonly REVERSE: "\u001B[7m";
|
|
9
|
+
readonly STRIKETHROUGH: "\u001B[9m";
|
|
10
|
+
readonly BLACK: "\u001B[30m";
|
|
11
|
+
readonly RED: "\u001B[31m";
|
|
12
|
+
readonly GREEN: "\u001B[32m";
|
|
13
|
+
readonly YELLOW: "\u001B[33m";
|
|
14
|
+
readonly BLUE: "\u001B[34m";
|
|
15
|
+
readonly MAGENTA: "\u001B[35m";
|
|
16
|
+
readonly CYAN: "\u001B[36m";
|
|
17
|
+
readonly WHITE: "\u001B[37m";
|
|
18
|
+
readonly GRAY: "\u001B[90m";
|
|
19
|
+
readonly BRIGHT_BLACK: "\u001B[90m";
|
|
20
|
+
readonly BRIGHT_RED: "\u001B[91m";
|
|
21
|
+
readonly BRIGHT_GREEN: "\u001B[92m";
|
|
22
|
+
readonly BRIGHT_YELLOW: "\u001B[93m";
|
|
23
|
+
readonly BRIGHT_BLUE: "\u001B[94m";
|
|
24
|
+
readonly BRIGHT_MAGENTA: "\u001B[95m";
|
|
25
|
+
readonly BRIGHT_CYAN: "\u001B[96m";
|
|
26
|
+
readonly BRIGHT_WHITE: "\u001B[97m";
|
|
27
|
+
readonly BG_BLACK: "\u001B[40m";
|
|
28
|
+
readonly BG_RED: "\u001B[41m";
|
|
29
|
+
readonly BG_GREEN: "\u001B[42m";
|
|
30
|
+
readonly BG_YELLOW: "\u001B[43m";
|
|
31
|
+
readonly BG_BLUE: "\u001B[44m";
|
|
32
|
+
readonly BG_MAGENTA: "\u001B[45m";
|
|
33
|
+
readonly BG_CYAN: "\u001B[46m";
|
|
34
|
+
readonly BG_WHITE: "\u001B[47m";
|
|
35
|
+
};
|
|
36
|
+
export declare const colorize: (text: string, color: string) => string;
|
|
37
|
+
export declare const LOG_COLORS: {
|
|
38
|
+
readonly error: "\u001B[31m";
|
|
39
|
+
readonly warning: "\u001B[33m";
|
|
40
|
+
readonly success: "\u001B[32m";
|
|
41
|
+
readonly info: "\u001B[34m";
|
|
42
|
+
readonly debug: "\u001B[90m";
|
|
43
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const B = {
|
|
2
|
+
RESET: "\x1B[0m",
|
|
3
|
+
BOLD: "\x1B[1m",
|
|
4
|
+
DIM: "\x1B[2m",
|
|
5
|
+
ITALIC: "\x1B[3m",
|
|
6
|
+
UNDERLINE: "\x1B[4m",
|
|
7
|
+
BLINK: "\x1B[5m",
|
|
8
|
+
REVERSE: "\x1B[7m",
|
|
9
|
+
STRIKETHROUGH: "\x1B[9m",
|
|
10
|
+
// Regular colors
|
|
11
|
+
BLACK: "\x1B[30m",
|
|
12
|
+
RED: "\x1B[31m",
|
|
13
|
+
GREEN: "\x1B[32m",
|
|
14
|
+
YELLOW: "\x1B[33m",
|
|
15
|
+
BLUE: "\x1B[34m",
|
|
16
|
+
MAGENTA: "\x1B[35m",
|
|
17
|
+
CYAN: "\x1B[36m",
|
|
18
|
+
WHITE: "\x1B[37m",
|
|
19
|
+
GRAY: "\x1B[90m",
|
|
20
|
+
// Bright colors
|
|
21
|
+
BRIGHT_BLACK: "\x1B[90m",
|
|
22
|
+
BRIGHT_RED: "\x1B[91m",
|
|
23
|
+
BRIGHT_GREEN: "\x1B[92m",
|
|
24
|
+
BRIGHT_YELLOW: "\x1B[93m",
|
|
25
|
+
BRIGHT_BLUE: "\x1B[94m",
|
|
26
|
+
BRIGHT_MAGENTA: "\x1B[95m",
|
|
27
|
+
BRIGHT_CYAN: "\x1B[96m",
|
|
28
|
+
BRIGHT_WHITE: "\x1B[97m",
|
|
29
|
+
// Background colors
|
|
30
|
+
BG_BLACK: "\x1B[40m",
|
|
31
|
+
BG_RED: "\x1B[41m",
|
|
32
|
+
BG_GREEN: "\x1B[42m",
|
|
33
|
+
BG_YELLOW: "\x1B[43m",
|
|
34
|
+
BG_BLUE: "\x1B[44m",
|
|
35
|
+
BG_MAGENTA: "\x1B[45m",
|
|
36
|
+
BG_CYAN: "\x1B[46m",
|
|
37
|
+
BG_WHITE: "\x1B[47m"
|
|
38
|
+
}, m = (E, x) => `${x}${E}${B.RESET}`, G = {
|
|
39
|
+
error: B.RED,
|
|
40
|
+
warning: B.YELLOW,
|
|
41
|
+
success: B.GREEN,
|
|
42
|
+
info: B.BLUE,
|
|
43
|
+
debug: B.GRAY
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
B as ANSI,
|
|
47
|
+
G as LOG_COLORS,
|
|
48
|
+
m as colorize
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=terminal.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.esm.js","sources":["../../src/components/terminal.tsx"],"sourcesContent":["// This file now just exports ANSI constants for backward compatibility\n// The actual terminal functionality is handled by CodeBlock component\n\n// ANSI color constants for easy use (compatible with new React-based terminal)\nexport const ANSI = {\n RESET: '\\x1b[0m',\n BOLD: '\\x1b[1m',\n DIM: '\\x1b[2m',\n ITALIC: '\\x1b[3m',\n UNDERLINE: '\\x1b[4m',\n BLINK: '\\x1b[5m',\n REVERSE: '\\x1b[7m',\n STRIKETHROUGH: '\\x1b[9m',\n \n // Regular colors\n BLACK: '\\x1b[30m',\n RED: '\\x1b[31m',\n GREEN: '\\x1b[32m',\n YELLOW: '\\x1b[33m',\n BLUE: '\\x1b[34m',\n MAGENTA: '\\x1b[35m',\n CYAN: '\\x1b[36m',\n WHITE: '\\x1b[37m',\n GRAY: '\\x1b[90m',\n \n // Bright colors\n BRIGHT_BLACK: '\\x1b[90m',\n BRIGHT_RED: '\\x1b[91m',\n BRIGHT_GREEN: '\\x1b[92m',\n BRIGHT_YELLOW: '\\x1b[93m',\n BRIGHT_BLUE: '\\x1b[94m',\n BRIGHT_MAGENTA: '\\x1b[95m',\n BRIGHT_CYAN: '\\x1b[96m',\n BRIGHT_WHITE: '\\x1b[97m',\n \n // Background colors\n BG_BLACK: '\\x1b[40m',\n BG_RED: '\\x1b[41m',\n BG_GREEN: '\\x1b[42m',\n BG_YELLOW: '\\x1b[43m',\n BG_BLUE: '\\x1b[44m',\n BG_MAGENTA: '\\x1b[45m',\n BG_CYAN: '\\x1b[46m',\n BG_WHITE: '\\x1b[47m',\n} as const;\n\n// Helper function to colorize text\nexport const colorize = (text: string, color: string): string => {\n return `${color}${text}${ANSI.RESET}`;\n};\n\n// Log level color helpers\nexport const LOG_COLORS = {\n error: ANSI.RED,\n warning: ANSI.YELLOW,\n success: ANSI.GREEN,\n info: ANSI.BLUE,\n debug: ANSI.GRAY,\n} as const;"],"names":["ANSI","colorize","text","color","LOG_COLORS"],"mappings":"AAIO,MAAMA,IAAO;AAAA,EAClB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,eAAe;AAAA;AAAA,EAGf,OAAO;AAAA,EACP,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA;AAAA,EAGN,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,cAAc;AAAA;AAAA,EAGd,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,UAAU;AACZ,GAGaC,IAAW,CAACC,GAAcC,MAC9B,GAAGA,CAAK,GAAGD,CAAI,GAAGF,EAAK,KAAK,IAIxBI,IAAa;AAAA,EACxB,OAAOJ,EAAK;AAAA,EACZ,SAASA,EAAK;AAAA,EACd,SAASA,EAAK;AAAA,EACd,MAAMA,EAAK;AAAA,EACX,OAAOA,EAAK;AACd;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B={RESET:"\x1B[0m",BOLD:"\x1B[1m",DIM:"\x1B[2m",ITALIC:"\x1B[3m",UNDERLINE:"\x1B[4m",BLINK:"\x1B[5m",REVERSE:"\x1B[7m",STRIKETHROUGH:"\x1B[9m",BLACK:"\x1B[30m",RED:"\x1B[31m",GREEN:"\x1B[32m",YELLOW:"\x1B[33m",BLUE:"\x1B[34m",MAGENTA:"\x1B[35m",CYAN:"\x1B[36m",WHITE:"\x1B[37m",GRAY:"\x1B[90m",BRIGHT_BLACK:"\x1B[90m",BRIGHT_RED:"\x1B[91m",BRIGHT_GREEN:"\x1B[92m",BRIGHT_YELLOW:"\x1B[93m",BRIGHT_BLUE:"\x1B[94m",BRIGHT_MAGENTA:"\x1B[95m",BRIGHT_CYAN:"\x1B[96m",BRIGHT_WHITE:"\x1B[97m",BG_BLACK:"\x1B[40m",BG_RED:"\x1B[41m",BG_GREEN:"\x1B[42m",BG_YELLOW:"\x1B[43m",BG_BLUE:"\x1B[44m",BG_MAGENTA:"\x1B[45m",BG_CYAN:"\x1B[46m",BG_WHITE:"\x1B[47m"},x=(E,m)=>`${m}${E}${B.RESET}`,G={error:B.RED,warning:B.YELLOW,success:B.GREEN,info:B.BLUE,debug:B.GRAY};exports.ANSI=B;exports.LOG_COLORS=G;exports.colorize=x;
|
|
2
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sources":["../../src/components/terminal.tsx"],"sourcesContent":["// This file now just exports ANSI constants for backward compatibility\n// The actual terminal functionality is handled by CodeBlock component\n\n// ANSI color constants for easy use (compatible with new React-based terminal)\nexport const ANSI = {\n RESET: '\\x1b[0m',\n BOLD: '\\x1b[1m',\n DIM: '\\x1b[2m',\n ITALIC: '\\x1b[3m',\n UNDERLINE: '\\x1b[4m',\n BLINK: '\\x1b[5m',\n REVERSE: '\\x1b[7m',\n STRIKETHROUGH: '\\x1b[9m',\n \n // Regular colors\n BLACK: '\\x1b[30m',\n RED: '\\x1b[31m',\n GREEN: '\\x1b[32m',\n YELLOW: '\\x1b[33m',\n BLUE: '\\x1b[34m',\n MAGENTA: '\\x1b[35m',\n CYAN: '\\x1b[36m',\n WHITE: '\\x1b[37m',\n GRAY: '\\x1b[90m',\n \n // Bright colors\n BRIGHT_BLACK: '\\x1b[90m',\n BRIGHT_RED: '\\x1b[91m',\n BRIGHT_GREEN: '\\x1b[92m',\n BRIGHT_YELLOW: '\\x1b[93m',\n BRIGHT_BLUE: '\\x1b[94m',\n BRIGHT_MAGENTA: '\\x1b[95m',\n BRIGHT_CYAN: '\\x1b[96m',\n BRIGHT_WHITE: '\\x1b[97m',\n \n // Background colors\n BG_BLACK: '\\x1b[40m',\n BG_RED: '\\x1b[41m',\n BG_GREEN: '\\x1b[42m',\n BG_YELLOW: '\\x1b[43m',\n BG_BLUE: '\\x1b[44m',\n BG_MAGENTA: '\\x1b[45m',\n BG_CYAN: '\\x1b[46m',\n BG_WHITE: '\\x1b[47m',\n} as const;\n\n// Helper function to colorize text\nexport const colorize = (text: string, color: string): string => {\n return `${color}${text}${ANSI.RESET}`;\n};\n\n// Log level color helpers\nexport const LOG_COLORS = {\n error: ANSI.RED,\n warning: ANSI.YELLOW,\n success: ANSI.GREEN,\n info: ANSI.BLUE,\n debug: ANSI.GRAY,\n} as const;"],"names":["ANSI","colorize","text","color","LOG_COLORS"],"mappings":"gFAIO,MAAMA,EAAO,CAClB,MAAO,UACP,KAAM,UACN,IAAK,UACL,OAAQ,UACR,UAAW,UACX,MAAO,UACP,QAAS,UACT,cAAe,UAGf,MAAO,WACP,IAAK,WACL,MAAO,WACP,OAAQ,WACR,KAAM,WACN,QAAS,WACT,KAAM,WACN,MAAO,WACP,KAAM,WAGN,aAAc,WACd,WAAY,WACZ,aAAc,WACd,cAAe,WACf,YAAa,WACb,eAAgB,WAChB,YAAa,WACb,aAAc,WAGd,SAAU,WACV,OAAQ,WACR,SAAU,WACV,UAAW,WACX,QAAS,WACT,WAAY,WACZ,QAAS,WACT,SAAU,UACZ,EAGaC,EAAW,CAACC,EAAcC,IAC9B,GAAGA,CAAK,GAAGD,CAAI,GAAGF,EAAK,KAAK,GAIxBI,EAAa,CACxB,MAAOJ,EAAK,IACZ,QAASA,EAAK,OACd,QAASA,EAAK,MACd,KAAMA,EAAK,KACX,MAAOA,EAAK,IACd"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { j as i } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
+
import * as s from "react";
|
|
3
|
+
import { c as t } from "../utils-qaFjX9_3.js";
|
|
4
|
+
const a = s.forwardRef(
|
|
5
|
+
({ className: e, ...r }, o) => /* @__PURE__ */ i.jsx(
|
|
6
|
+
"textarea",
|
|
7
|
+
{
|
|
8
|
+
className: t(
|
|
9
|
+
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
10
|
+
e
|
|
11
|
+
),
|
|
12
|
+
ref: o,
|
|
13
|
+
...r
|
|
14
|
+
}
|
|
15
|
+
)
|
|
16
|
+
);
|
|
17
|
+
a.displayName = "Textarea";
|
|
18
|
+
export {
|
|
19
|
+
a as Textarea
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=textarea.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.esm.js","sources":["../../src/components/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea } "],"names":["Textarea","React","className","props","ref","jsx","cn"],"mappings":";;;AAMA,MAAMA,IAAWC,EAAM;AAAA,EACrB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAEtBC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEF,KAAAE;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAH,EAAS,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../jsx-runtime-BYECrxsp.cjs"),a=require("react"),s=require("../utils-DSKoFOjv.cjs");function u(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const c=u(a),n=c.forwardRef(({className:e,...r},t)=>i.jsxRuntimeExports.jsx("textarea",{className:s.cn("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...r}));n.displayName="Textarea";exports.Textarea=n;
|
|
2
|
+
//# sourceMappingURL=textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sources":["../../src/components/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea } "],"names":["Textarea","React","className","props","ref","jsx","cn"],"mappings":"+cAMMA,EAAWC,EAAM,WACrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAEtBC,EAAAA,kBAAAA,IAAC,WAAA,CACC,UAAWC,EAAAA,GACT,uSACAJ,CAAA,EAEF,IAAAE,EACC,GAAGD,CAAA,CAAA,CAIZ,EACAH,EAAS,YAAc"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface TooltipProps {
|
|
2
|
+
content: string | React.ReactNode;
|
|
3
|
+
side?: 'left' | 'right' | 'top' | 'bottom';
|
|
4
|
+
align?: 'start' | 'center' | 'end';
|
|
5
|
+
isVisible: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function Tooltip({ content, side, align, isVisible }: TooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { j as o } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
+
import { AnimatePresence as b, motion as a } from "framer-motion";
|
|
3
|
+
import { c as s } from "../utils-qaFjX9_3.js";
|
|
4
|
+
function h({ content: t, side: e = "right", align: r = "center", isVisible: l }) {
|
|
5
|
+
return /* @__PURE__ */ o.jsx(b, { children: l && /* @__PURE__ */ o.jsxs(
|
|
6
|
+
a.div,
|
|
7
|
+
{
|
|
8
|
+
initial: {
|
|
9
|
+
opacity: 0,
|
|
10
|
+
...n(e)
|
|
11
|
+
},
|
|
12
|
+
animate: {
|
|
13
|
+
opacity: 1,
|
|
14
|
+
x: 0,
|
|
15
|
+
y: 0
|
|
16
|
+
},
|
|
17
|
+
exit: {
|
|
18
|
+
opacity: 0,
|
|
19
|
+
...n(e)
|
|
20
|
+
},
|
|
21
|
+
transition: { duration: 0.15, ease: "easeOut" },
|
|
22
|
+
className: s(
|
|
23
|
+
"absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap",
|
|
24
|
+
"bg-background border border-border shadow-lg",
|
|
25
|
+
c(e, r)
|
|
26
|
+
),
|
|
27
|
+
children: [
|
|
28
|
+
t,
|
|
29
|
+
/* @__PURE__ */ o.jsx(
|
|
30
|
+
a.div,
|
|
31
|
+
{
|
|
32
|
+
className: s(
|
|
33
|
+
"absolute w-1.5 h-1.5 rotate-45 bg-background border border-border",
|
|
34
|
+
p(e)
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
) });
|
|
41
|
+
}
|
|
42
|
+
const n = (t) => {
|
|
43
|
+
switch (t) {
|
|
44
|
+
case "right":
|
|
45
|
+
return { x: -5 };
|
|
46
|
+
case "left":
|
|
47
|
+
return { x: 5 };
|
|
48
|
+
case "top":
|
|
49
|
+
return { y: 5 };
|
|
50
|
+
case "bottom":
|
|
51
|
+
return { y: -5 };
|
|
52
|
+
default:
|
|
53
|
+
return { x: 0, y: 0 };
|
|
54
|
+
}
|
|
55
|
+
}, c = (t, e) => {
|
|
56
|
+
const r = [];
|
|
57
|
+
switch (t) {
|
|
58
|
+
case "right":
|
|
59
|
+
r.push("left-full ml-2");
|
|
60
|
+
break;
|
|
61
|
+
case "left":
|
|
62
|
+
r.push("right-full mr-2");
|
|
63
|
+
break;
|
|
64
|
+
case "top":
|
|
65
|
+
r.push("bottom-full mb-2");
|
|
66
|
+
break;
|
|
67
|
+
case "bottom":
|
|
68
|
+
r.push("top-full mt-2");
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
switch (e) {
|
|
72
|
+
case "start":
|
|
73
|
+
r.push(t === "top" || t === "bottom" ? "left-0" : "top-0");
|
|
74
|
+
break;
|
|
75
|
+
case "center":
|
|
76
|
+
r.push(t === "top" || t === "bottom" ? "left-1/2 -translate-x-1/2" : "top-1/2 -translate-y-1/2");
|
|
77
|
+
break;
|
|
78
|
+
case "end":
|
|
79
|
+
r.push(t === "top" || t === "bottom" ? "right-0" : "bottom-0");
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
return r.join(" ");
|
|
83
|
+
}, p = (t) => {
|
|
84
|
+
switch (t) {
|
|
85
|
+
case "right":
|
|
86
|
+
return "-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0";
|
|
87
|
+
case "left":
|
|
88
|
+
return "-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0";
|
|
89
|
+
case "top":
|
|
90
|
+
return "-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0";
|
|
91
|
+
case "bottom":
|
|
92
|
+
return "-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0";
|
|
93
|
+
default:
|
|
94
|
+
return "";
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
export {
|
|
98
|
+
h as Tooltip
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=tooltip.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.esm.js","sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { motion, AnimatePresence } from 'framer-motion';\nimport { cn } from '@/lib/utils';\n\ninterface TooltipProps {\n content: string | React.ReactNode;\n side?: 'left' | 'right' | 'top' | 'bottom';\n align?: 'start' | 'center' | 'end';\n isVisible: boolean;\n}\n\nexport function Tooltip({ content, side = 'right', align = 'center', isVisible }: TooltipProps) {\n return (\n <AnimatePresence>\n {isVisible && (\n <motion.div\n initial={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n animate={{ \n opacity: 1, \n x: 0,\n y: 0 \n }}\n exit={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n transition={{ duration: 0.15, ease: 'easeOut' }}\n className={cn(\n 'absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap',\n 'bg-background border border-border shadow-lg',\n getPositionClasses(side, align)\n )}\n >\n {content}\n <motion.div\n className={cn(\n 'absolute w-1.5 h-1.5 rotate-45 bg-background border border-border',\n getArrowClasses(side)\n )}\n />\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\nconst getInitialPosition = (side: string) => {\n switch (side) {\n case 'right':\n return { x: -5 };\n case 'left':\n return { x: 5 };\n case 'top':\n return { y: 5 };\n case 'bottom':\n return { y: -5 };\n default:\n return { x: 0, y: 0 };\n }\n};\n\nconst getPositionClasses = (side: string, align: string) => {\n const baseClasses = [];\n\n switch (side) {\n case 'right':\n baseClasses.push('left-full ml-2');\n break;\n case 'left':\n baseClasses.push('right-full mr-2');\n break;\n case 'top':\n baseClasses.push('bottom-full mb-2');\n break;\n case 'bottom':\n baseClasses.push('top-full mt-2');\n break;\n }\n\n switch (align) {\n case 'start':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-0' : 'top-0');\n break;\n case 'center':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-1/2 -translate-x-1/2' : 'top-1/2 -translate-y-1/2');\n break;\n case 'end':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'right-0' : 'bottom-0');\n break;\n }\n\n return baseClasses.join(' ');\n};\n\nconst getArrowClasses = (side: string) => {\n switch (side) {\n case 'right':\n return '-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0';\n case 'left':\n return '-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0';\n case 'top':\n return '-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0';\n case 'bottom':\n return '-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0';\n default:\n return '';\n }\n};"],"names":["Tooltip","content","side","align","isVisible","jsx","AnimatePresence","jsxs","motion","getInitialPosition","cn","getPositionClasses","getArrowClasses","baseClasses"],"mappings":";;;AAUO,SAASA,EAAQ,EAAE,SAAAC,GAAS,MAAAC,IAAO,SAAS,OAAAC,IAAQ,UAAU,WAAAC,KAA2B;AAC9F,SACEC,gBAAAA,EAAAA,IAACC,KACE,UAAAF,KACCG,gBAAAA,EAAAA;AAAAA,IAACC,EAAO;AAAA,IAAP;AAAA,MACC,SAAS;AAAA,QACP,SAAS;AAAA,QACT,GAAGC,EAAmBP,CAAI;AAAA,MAAA;AAAA,MAE5B,SAAS;AAAA,QACP,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,MAAA;AAAA,MAEL,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,GAAGO,EAAmBP,CAAI;AAAA,MAAA;AAAA,MAE5B,YAAY,EAAE,UAAU,MAAM,MAAM,UAAA;AAAA,MACpC,WAAWQ;AAAA,QACT;AAAA,QACA;AAAA,QACAC,EAAmBT,GAAMC,CAAK;AAAA,MAAA;AAAA,MAG/B,UAAA;AAAA,QAAAF;AAAA,QACDI,gBAAAA,EAAAA;AAAAA,UAACG,EAAO;AAAA,UAAP;AAAA,YACC,WAAWE;AAAA,cACT;AAAA,cACAE,EAAgBV,CAAI;AAAA,YAAA;AAAA,UACtB;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;AAEA,MAAMO,IAAqB,CAACP,MAAiB;AAC3C,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO,EAAE,GAAG,GAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,EAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,EAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,GAAA;AAAA,IACd;AACE,aAAO,EAAE,GAAG,GAAG,GAAG,EAAA;AAAA,EAAE;AAE1B,GAEMS,IAAqB,CAACT,GAAcC,MAAkB;AAC1D,QAAMU,IAAc,CAAA;AAEpB,UAAQX,GAAA;AAAA,IACN,KAAK;AACH,MAAAW,EAAY,KAAK,gBAAgB;AACjC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,iBAAiB;AAClC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,kBAAkB;AACnC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,eAAe;AAChC;AAAA,EAAA;AAGJ,UAAQV,GAAA;AAAA,IACN,KAAK;AACH,MAAAU,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,WAAW,OAAO;AAC3E;AAAA,IACF,KAAK;AACH,MAAAW,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,8BAA8B,0BAA0B;AACjH;AAAA,IACF,KAAK;AACH,MAAAW,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,YAAY,UAAU;AAC/E;AAAA,EAAA;AAGJ,SAAOW,EAAY,KAAK,GAAG;AAC7B,GAEMD,IAAkB,CAACV,MAAiB;AACxC,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../jsx-runtime-BYECrxsp.cjs"),s=require("framer-motion"),a=require("../utils-DSKoFOjv.cjs");function i({content:t,side:r="right",align:e="center",isVisible:l}){return o.jsxRuntimeExports.jsx(s.AnimatePresence,{children:l&&o.jsxRuntimeExports.jsxs(s.motion.div,{initial:{opacity:0,...n(r)},animate:{opacity:1,x:0,y:0},exit:{opacity:0,...n(r)},transition:{duration:.15,ease:"easeOut"},className:a.cn("absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap","bg-background border border-border shadow-lg",u(r,e)),children:[t,o.jsxRuntimeExports.jsx(s.motion.div,{className:a.cn("absolute w-1.5 h-1.5 rotate-45 bg-background border border-border",c(r))})]})})}const n=t=>{switch(t){case"right":return{x:-5};case"left":return{x:5};case"top":return{y:5};case"bottom":return{y:-5};default:return{x:0,y:0}}},u=(t,r)=>{const e=[];switch(t){case"right":e.push("left-full ml-2");break;case"left":e.push("right-full mr-2");break;case"top":e.push("bottom-full mb-2");break;case"bottom":e.push("top-full mt-2");break}switch(r){case"start":e.push(t==="top"||t==="bottom"?"left-0":"top-0");break;case"center":e.push(t==="top"||t==="bottom"?"left-1/2 -translate-x-1/2":"top-1/2 -translate-y-1/2");break;case"end":e.push(t==="top"||t==="bottom"?"right-0":"bottom-0");break}return e.join(" ")},c=t=>{switch(t){case"right":return"-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0";case"left":return"-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0";case"top":return"-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0";case"bottom":return"-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0";default:return""}};exports.Tooltip=i;
|
|
2
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { motion, AnimatePresence } from 'framer-motion';\nimport { cn } from '@/lib/utils';\n\ninterface TooltipProps {\n content: string | React.ReactNode;\n side?: 'left' | 'right' | 'top' | 'bottom';\n align?: 'start' | 'center' | 'end';\n isVisible: boolean;\n}\n\nexport function Tooltip({ content, side = 'right', align = 'center', isVisible }: TooltipProps) {\n return (\n <AnimatePresence>\n {isVisible && (\n <motion.div\n initial={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n animate={{ \n opacity: 1, \n x: 0,\n y: 0 \n }}\n exit={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n transition={{ duration: 0.15, ease: 'easeOut' }}\n className={cn(\n 'absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap',\n 'bg-background border border-border shadow-lg',\n getPositionClasses(side, align)\n )}\n >\n {content}\n <motion.div\n className={cn(\n 'absolute w-1.5 h-1.5 rotate-45 bg-background border border-border',\n getArrowClasses(side)\n )}\n />\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\nconst getInitialPosition = (side: string) => {\n switch (side) {\n case 'right':\n return { x: -5 };\n case 'left':\n return { x: 5 };\n case 'top':\n return { y: 5 };\n case 'bottom':\n return { y: -5 };\n default:\n return { x: 0, y: 0 };\n }\n};\n\nconst getPositionClasses = (side: string, align: string) => {\n const baseClasses = [];\n\n switch (side) {\n case 'right':\n baseClasses.push('left-full ml-2');\n break;\n case 'left':\n baseClasses.push('right-full mr-2');\n break;\n case 'top':\n baseClasses.push('bottom-full mb-2');\n break;\n case 'bottom':\n baseClasses.push('top-full mt-2');\n break;\n }\n\n switch (align) {\n case 'start':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-0' : 'top-0');\n break;\n case 'center':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-1/2 -translate-x-1/2' : 'top-1/2 -translate-y-1/2');\n break;\n case 'end':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'right-0' : 'bottom-0');\n break;\n }\n\n return baseClasses.join(' ');\n};\n\nconst getArrowClasses = (side: string) => {\n switch (side) {\n case 'right':\n return '-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0';\n case 'left':\n return '-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0';\n case 'top':\n return '-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0';\n case 'bottom':\n return '-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0';\n default:\n return '';\n }\n};"],"names":["Tooltip","content","side","align","isVisible","jsx","AnimatePresence","jsxs","motion","getInitialPosition","cn","getPositionClasses","getArrowClasses","baseClasses"],"mappings":"6LAUO,SAASA,EAAQ,CAAE,QAAAC,EAAS,KAAAC,EAAO,QAAS,MAAAC,EAAQ,SAAU,UAAAC,GAA2B,CAC9F,OACEC,EAAAA,kBAAAA,IAACC,EAAAA,iBACE,SAAAF,GACCG,EAAAA,kBAAAA,KAACC,EAAAA,OAAO,IAAP,CACC,QAAS,CACP,QAAS,EACT,GAAGC,EAAmBP,CAAI,CAAA,EAE5B,QAAS,CACP,QAAS,EACT,EAAG,EACH,EAAG,CAAA,EAEL,KAAM,CACJ,QAAS,EACT,GAAGO,EAAmBP,CAAI,CAAA,EAE5B,WAAY,CAAE,SAAU,IAAM,KAAM,SAAA,EACpC,UAAWQ,EAAAA,GACT,kFACA,+CACAC,EAAmBT,EAAMC,CAAK,CAAA,EAG/B,SAAA,CAAAF,EACDI,EAAAA,kBAAAA,IAACG,EAAAA,OAAO,IAAP,CACC,UAAWE,EAAAA,GACT,oEACAE,EAAgBV,CAAI,CAAA,CACtB,CAAA,CACF,CAAA,CAAA,EAGN,CAEJ,CAEA,MAAMO,EAAsBP,GAAiB,CAC3C,OAAQA,EAAA,CACN,IAAK,QACH,MAAO,CAAE,EAAG,EAAA,EACd,IAAK,OACH,MAAO,CAAE,EAAG,CAAA,EACd,IAAK,MACH,MAAO,CAAE,EAAG,CAAA,EACd,IAAK,SACH,MAAO,CAAE,EAAG,EAAA,EACd,QACE,MAAO,CAAE,EAAG,EAAG,EAAG,CAAA,CAAE,CAE1B,EAEMS,EAAqB,CAACT,EAAcC,IAAkB,CAC1D,MAAMU,EAAc,CAAA,EAEpB,OAAQX,EAAA,CACN,IAAK,QACHW,EAAY,KAAK,gBAAgB,EACjC,MACF,IAAK,OACHA,EAAY,KAAK,iBAAiB,EAClC,MACF,IAAK,MACHA,EAAY,KAAK,kBAAkB,EACnC,MACF,IAAK,SACHA,EAAY,KAAK,eAAe,EAChC,KAAA,CAGJ,OAAQV,EAAA,CACN,IAAK,QACHU,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,SAAW,OAAO,EAC3E,MACF,IAAK,SACHW,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,4BAA8B,0BAA0B,EACjH,MACF,IAAK,MACHW,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,UAAY,UAAU,EAC/E,KAAA,CAGJ,OAAOW,EAAY,KAAK,GAAG,CAC7B,EAEMD,EAAmBV,GAAiB,CACxC,OAAQA,EAAA,CACN,IAAK,QACH,MAAO,6DACT,IAAK,OACH,MAAO,8DACT,IAAK,MACH,MAAO,gEACT,IAAK,SACH,MAAO,6DACT,QACE,MAAO,EAAA,CAEb"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type ToastProps = {
|
|
2
|
+
title: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
type?: 'default' | 'success' | 'error' | 'warning';
|
|
5
|
+
duration?: number;
|
|
6
|
+
};
|
|
7
|
+
type Toast = ToastProps & {
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const toast: (props: ToastProps) => {
|
|
11
|
+
dismiss: () => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const useToast: () => {
|
|
14
|
+
toast: (props: ToastProps) => {
|
|
15
|
+
dismiss: () => void;
|
|
16
|
+
};
|
|
17
|
+
toasts: Toast[];
|
|
18
|
+
dismiss: (id: string) => void;
|
|
19
|
+
};
|
|
20
|
+
export declare const ToastContainer: () => import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { j as n } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
+
import { useState as c, useCallback as l } from "react";
|
|
3
|
+
let r = [], a = [];
|
|
4
|
+
const d = () => {
|
|
5
|
+
a.forEach((t) => t([...r]));
|
|
6
|
+
}, u = (t) => {
|
|
7
|
+
const i = `toast-${Date.now()}`, e = {
|
|
8
|
+
id: i,
|
|
9
|
+
...t,
|
|
10
|
+
duration: t.duration || 5e3,
|
|
11
|
+
type: t.type || "default"
|
|
12
|
+
};
|
|
13
|
+
return r.push(e), d(), setTimeout(() => {
|
|
14
|
+
r = r.filter((s) => s.id !== i), d();
|
|
15
|
+
}, e.duration), {
|
|
16
|
+
dismiss: () => {
|
|
17
|
+
r = r.filter((s) => s.id !== i), d();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}, m = () => {
|
|
21
|
+
const [t, i] = c(r), e = l(() => {
|
|
22
|
+
const s = (o) => {
|
|
23
|
+
i(o);
|
|
24
|
+
};
|
|
25
|
+
return a.push(s), () => {
|
|
26
|
+
a = a.filter((o) => o !== s);
|
|
27
|
+
};
|
|
28
|
+
}, []);
|
|
29
|
+
return c(() => e()), {
|
|
30
|
+
toast: u,
|
|
31
|
+
toasts: t,
|
|
32
|
+
dismiss: (s) => {
|
|
33
|
+
r = r.filter((o) => o.id !== s), d();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}, f = () => {
|
|
37
|
+
const { toasts: t, dismiss: i } = m();
|
|
38
|
+
return t.length === 0 ? null : /* @__PURE__ */ n.jsx("div", { className: "fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]", children: t.map((e) => /* @__PURE__ */ n.jsxs(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
className: `p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${e.type === "error" ? "bg-destructive text-destructive-foreground" : e.type === "success" ? "bg-green-50 text-green-800 border-green-200" : e.type === "warning" ? "bg-amber-50 text-amber-800 border-amber-200" : "bg-background text-foreground"}`,
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ n.jsxs("div", { className: "flex justify-between items-start", children: [
|
|
44
|
+
/* @__PURE__ */ n.jsx("div", { className: "font-medium", children: e.title }),
|
|
45
|
+
/* @__PURE__ */ n.jsx(
|
|
46
|
+
"button",
|
|
47
|
+
{
|
|
48
|
+
onClick: () => i(e.id),
|
|
49
|
+
className: "text-sm opacity-70 hover:opacity-100",
|
|
50
|
+
children: "×"
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] }),
|
|
54
|
+
e.description && /* @__PURE__ */ n.jsx("div", { className: "mt-1 text-sm opacity-80", children: e.description })
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
e.id
|
|
58
|
+
)) });
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
f as ToastContainer,
|
|
62
|
+
u as toast,
|
|
63
|
+
m as useToast
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=use-toast.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toast.esm.js","sources":["../../src/components/use-toast.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { createRoot } from 'react-dom/client';\n\ntype ToastProps = {\n title: string;\n description?: string;\n type?: 'default' | 'success' | 'error' | 'warning';\n duration?: number;\n};\n\ntype Toast = ToastProps & {\n id: string;\n};\n\nlet toasts: Toast[] = [];\nlet listeners: ((toasts: Toast[]) => void)[] = [];\n\nconst notifyListeners = () => {\n listeners.forEach(listener => listener([...toasts]));\n};\n\nexport const toast = (props: ToastProps) => {\n const id = `toast-${Date.now()}`;\n const newToast = { \n id, \n ...props,\n duration: props.duration || 5000,\n type: props.type || 'default' \n };\n \n toasts.push(newToast);\n notifyListeners();\n\n // Auto-dismiss after duration\n setTimeout(() => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }, newToast.duration);\n\n return {\n dismiss: () => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\nexport const useToast = () => {\n const [currentToasts, setCurrentToasts] = useState<Toast[]>(toasts);\n\n const registerListener = useCallback(() => {\n const listener = (updatedToasts: Toast[]) => {\n setCurrentToasts(updatedToasts);\n };\n \n listeners.push(listener);\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n }, []);\n\n // Register listener on mount\n useState(() => {\n const unregister = registerListener();\n return unregister;\n });\n\n return { \n toast,\n toasts: currentToasts,\n dismiss: (id: string) => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\n// Toast Container Component\nexport const ToastContainer = () => {\n const { toasts, dismiss } = useToast();\n\n if (toasts.length === 0) return null;\n\n return (\n <div className=\"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]\">\n {toasts.map(toast => (\n <div \n key={toast.id}\n className={`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${\n toast.type === 'error' ? 'bg-destructive text-destructive-foreground' : \n toast.type === 'success' ? 'bg-green-50 text-green-800 border-green-200' : \n toast.type === 'warning' ? 'bg-amber-50 text-amber-800 border-amber-200' : \n 'bg-background text-foreground'\n }`}\n >\n <div className=\"flex justify-between items-start\">\n <div className=\"font-medium\">{toast.title}</div>\n <button \n onClick={() => dismiss(toast.id)}\n className=\"text-sm opacity-70 hover:opacity-100\"\n >\n ×\n </button>\n </div>\n {toast.description && (\n <div className=\"mt-1 text-sm opacity-80\">{toast.description}</div>\n )}\n </div>\n ))}\n </div>\n );\n}; "],"names":["toasts","listeners","notifyListeners","listener","toast","props","id","newToast","useToast","currentToasts","setCurrentToasts","useState","registerListener","useCallback","updatedToasts","l","ToastContainer","dismiss","jsx","jsxs"],"mappings":";;AAcA,IAAIA,IAAkB,CAAA,GAClBC,IAA2C,CAAA;AAE/C,MAAMC,IAAkB,MAAM;AAC5B,EAAAD,EAAU,QAAQ,CAAAE,MAAYA,EAAS,CAAC,GAAGH,CAAM,CAAC,CAAC;AACrD,GAEaI,IAAQ,CAACC,MAAsB;AAC1C,QAAMC,IAAK,SAAS,KAAK,IAAA,CAAK,IACxBC,IAAW;AAAA,IACf,IAAAD;AAAA,IACA,GAAGD;AAAA,IACH,UAAUA,EAAM,YAAY;AAAA,IAC5B,MAAMA,EAAM,QAAQ;AAAA,EAAA;AAGtB,SAAAL,EAAO,KAAKO,CAAQ,GACpBL,EAAA,GAGA,WAAW,MAAM;AACf,IAAAF,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,EACF,GAAGK,EAAS,QAAQ,GAEb;AAAA,IACL,SAAS,MAAM;AACb,MAAAP,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,IACF;AAAA,EAAA;AAEJ,GAEaM,IAAW,MAAM;AAC5B,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAkBX,CAAM,GAE5DY,IAAmBC,EAAY,MAAM;AACzC,UAAMV,IAAW,CAACW,MAA2B;AAC3C,MAAAJ,EAAiBI,CAAa;AAAA,IAChC;AAEA,WAAAb,EAAU,KAAKE,CAAQ,GAChB,MAAM;AACX,MAAAF,IAAYA,EAAU,OAAO,CAAAc,MAAKA,MAAMZ,CAAQ;AAAA,IAClD;AAAA,EACF,GAAG,CAAA,CAAE;AAGL,SAAAQ,EAAS,MACYC,EAAA,CAEpB,GAEM;AAAA,IACL,OAAAR;AAAA,IACA,QAAQK;AAAA,IACR,SAAS,CAACH,MAAe;AACvB,MAAAN,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,IACF;AAAA,EAAA;AAEJ,GAGac,IAAiB,MAAM;AAClC,QAAM,EAAE,QAAAhB,GAAQ,SAAAiB,EAAA,IAAYT,EAAA;AAE5B,SAAIR,EAAO,WAAW,IAAU,OAG9BkB,gBAAAA,EAAAA,IAAC,SAAI,WAAU,0DACZ,UAAAlB,EAAO,IAAI,CAAAI,MACVe,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW,yFACTf,EAAM,SAAS,UAAU,+CACzBA,EAAM,SAAS,YAAY,gDAC3BA,EAAM,SAAS,YAAY,gDAC3B,+BACF;AAAA,MAEA,UAAA;AAAA,QAAAe,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,UAAAD,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,eAAe,UAAAd,EAAM,OAAM;AAAA,UAC1Cc,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAS,MAAMD,EAAQb,EAAM,EAAE;AAAA,cAC/B,WAAU;AAAA,cACX,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,GACF;AAAA,QACCA,EAAM,eACLc,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,2BAA2B,UAAAd,EAAM,YAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAlBzDA,EAAM;AAAA,EAAA,CAqBd,GACH;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../jsx-runtime-BYECrxsp.cjs"),d=require("react");let r=[],a=[];const u=()=>{a.forEach(t=>t([...r]))},c=t=>{const i=`toast-${Date.now()}`,e={id:i,...t,duration:t.duration||5e3,type:t.type||"default"};return r.push(e),u(),setTimeout(()=>{r=r.filter(s=>s.id!==i),u()},e.duration),{dismiss:()=>{r=r.filter(s=>s.id!==i),u()}}},l=()=>{const[t,i]=d.useState(r),e=d.useCallback(()=>{const s=o=>{i(o)};return a.push(s),()=>{a=a.filter(o=>o!==s)}},[]);return d.useState(()=>e()),{toast:c,toasts:t,dismiss:s=>{r=r.filter(o=>o.id!==s),u()}}},x=()=>{const{toasts:t,dismiss:i}=l();return t.length===0?null:n.jsxRuntimeExports.jsx("div",{className:"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]",children:t.map(e=>n.jsxRuntimeExports.jsxs("div",{className:`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${e.type==="error"?"bg-destructive text-destructive-foreground":e.type==="success"?"bg-green-50 text-green-800 border-green-200":e.type==="warning"?"bg-amber-50 text-amber-800 border-amber-200":"bg-background text-foreground"}`,children:[n.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-start",children:[n.jsxRuntimeExports.jsx("div",{className:"font-medium",children:e.title}),n.jsxRuntimeExports.jsx("button",{onClick:()=>i(e.id),className:"text-sm opacity-70 hover:opacity-100",children:"×"})]}),e.description&&n.jsxRuntimeExports.jsx("div",{className:"mt-1 text-sm opacity-80",children:e.description})]},e.id))})};exports.ToastContainer=x;exports.toast=c;exports.useToast=l;
|
|
2
|
+
//# sourceMappingURL=use-toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toast.js","sources":["../../src/components/use-toast.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { createRoot } from 'react-dom/client';\n\ntype ToastProps = {\n title: string;\n description?: string;\n type?: 'default' | 'success' | 'error' | 'warning';\n duration?: number;\n};\n\ntype Toast = ToastProps & {\n id: string;\n};\n\nlet toasts: Toast[] = [];\nlet listeners: ((toasts: Toast[]) => void)[] = [];\n\nconst notifyListeners = () => {\n listeners.forEach(listener => listener([...toasts]));\n};\n\nexport const toast = (props: ToastProps) => {\n const id = `toast-${Date.now()}`;\n const newToast = { \n id, \n ...props,\n duration: props.duration || 5000,\n type: props.type || 'default' \n };\n \n toasts.push(newToast);\n notifyListeners();\n\n // Auto-dismiss after duration\n setTimeout(() => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }, newToast.duration);\n\n return {\n dismiss: () => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\nexport const useToast = () => {\n const [currentToasts, setCurrentToasts] = useState<Toast[]>(toasts);\n\n const registerListener = useCallback(() => {\n const listener = (updatedToasts: Toast[]) => {\n setCurrentToasts(updatedToasts);\n };\n \n listeners.push(listener);\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n }, []);\n\n // Register listener on mount\n useState(() => {\n const unregister = registerListener();\n return unregister;\n });\n\n return { \n toast,\n toasts: currentToasts,\n dismiss: (id: string) => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\n// Toast Container Component\nexport const ToastContainer = () => {\n const { toasts, dismiss } = useToast();\n\n if (toasts.length === 0) return null;\n\n return (\n <div className=\"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]\">\n {toasts.map(toast => (\n <div \n key={toast.id}\n className={`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${\n toast.type === 'error' ? 'bg-destructive text-destructive-foreground' : \n toast.type === 'success' ? 'bg-green-50 text-green-800 border-green-200' : \n toast.type === 'warning' ? 'bg-amber-50 text-amber-800 border-amber-200' : \n 'bg-background text-foreground'\n }`}\n >\n <div className=\"flex justify-between items-start\">\n <div className=\"font-medium\">{toast.title}</div>\n <button \n onClick={() => dismiss(toast.id)}\n className=\"text-sm opacity-70 hover:opacity-100\"\n >\n ×\n </button>\n </div>\n {toast.description && (\n <div className=\"mt-1 text-sm opacity-80\">{toast.description}</div>\n )}\n </div>\n ))}\n </div>\n );\n}; "],"names":["toasts","listeners","notifyListeners","listener","toast","props","id","newToast","useToast","currentToasts","setCurrentToasts","useState","registerListener","useCallback","updatedToasts","l","ToastContainer","dismiss","jsx","jsxs"],"mappings":"kJAcA,IAAIA,EAAkB,CAAA,EAClBC,EAA2C,CAAA,EAE/C,MAAMC,EAAkB,IAAM,CAC5BD,EAAU,QAAQE,GAAYA,EAAS,CAAC,GAAGH,CAAM,CAAC,CAAC,CACrD,EAEaI,EAASC,GAAsB,CAC1C,MAAMC,EAAK,SAAS,KAAK,IAAA,CAAK,GACxBC,EAAW,CACf,GAAAD,EACA,GAAGD,EACH,SAAUA,EAAM,UAAY,IAC5B,KAAMA,EAAM,MAAQ,SAAA,EAGtB,OAAAL,EAAO,KAAKO,CAAQ,EACpBL,EAAA,EAGA,WAAW,IAAM,CACfF,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,EAAGK,EAAS,QAAQ,EAEb,CACL,QAAS,IAAM,CACbP,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,CAAA,CAEJ,EAEaM,EAAW,IAAM,CAC5B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAkBX,CAAM,EAE5DY,EAAmBC,EAAAA,YAAY,IAAM,CACzC,MAAMV,EAAYW,GAA2B,CAC3CJ,EAAiBI,CAAa,CAChC,EAEA,OAAAb,EAAU,KAAKE,CAAQ,EAChB,IAAM,CACXF,EAAYA,EAAU,OAAOc,GAAKA,IAAMZ,CAAQ,CAClD,CACF,EAAG,CAAA,CAAE,EAGLQ,OAAAA,EAAAA,SAAS,IACYC,EAAA,CAEpB,EAEM,CACL,MAAAR,EACA,OAAQK,EACR,QAAUH,GAAe,CACvBN,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,CAAA,CAEJ,EAGac,EAAiB,IAAM,CAClC,KAAM,CAAE,OAAAhB,EAAQ,QAAAiB,CAAA,EAAYT,EAAA,EAE5B,OAAIR,EAAO,SAAW,EAAU,KAG9BkB,EAAAA,kBAAAA,IAAC,OAAI,UAAU,yDACZ,SAAAlB,EAAO,IAAII,GACVe,EAAAA,kBAAAA,KAAC,MAAA,CAEC,UAAW,yFACTf,EAAM,OAAS,QAAU,6CACzBA,EAAM,OAAS,UAAY,8CAC3BA,EAAM,OAAS,UAAY,8CAC3B,+BACF,GAEA,SAAA,CAAAe,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,mCACb,SAAA,CAAAD,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,cAAe,SAAAd,EAAM,MAAM,EAC1Cc,EAAAA,kBAAAA,IAAC,SAAA,CACC,QAAS,IAAMD,EAAQb,EAAM,EAAE,EAC/B,UAAU,uCACX,SAAA,GAAA,CAAA,CAED,EACF,EACCA,EAAM,aACLc,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,0BAA2B,SAAAd,EAAM,WAAA,CAAY,CAAA,CAAA,EAlBzDA,EAAM,EAAA,CAqBd,EACH,CAEJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
export declare function ConfirmationModal({ isOpen, onClose, onConfirm, title, description, confirmText, cancelText, type }: ConfirmationModalProps): JSX_2.Element;
|
|
4
|
+
|
|
5
|
+
declare interface ConfirmationModalProps {
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
onConfirm: () => void;
|
|
9
|
+
title: string;
|
|
10
|
+
description: string;
|
|
11
|
+
confirmText?: string;
|
|
12
|
+
cancelText?: string;
|
|
13
|
+
type?: 'danger' | 'warning';
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { }
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { default as default_2 } from 'react';
|
|
2
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
3
|
+
import * as RadixContextMenu from '@radix-ui/react-context-menu';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
export declare function ContextMenu({ children, menuContent, className, disabled, onContextMenuOpen, onContextMenuClose }: ContextMenuProps): JSX_2.Element;
|
|
7
|
+
|
|
8
|
+
export declare const ContextMenuCheckboxItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuCheckboxItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
|
|
10
|
+
export declare const ContextMenuGroup: default_2.ForwardRefExoticComponent<RadixContextMenu.ContextMenuGroupProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
|
|
12
|
+
export declare const ContextMenuItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
|
|
14
|
+
export declare const ContextMenuLabel: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuLabelProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
15
|
+
inset?: boolean;
|
|
16
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
|
|
18
|
+
declare interface ContextMenuProps {
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
menuContent: ReactNode;
|
|
21
|
+
className?: string;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
onContextMenuOpen?: () => void;
|
|
24
|
+
onContextMenuClose?: () => void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export declare const ContextMenuRadioGroup: default_2.ForwardRefExoticComponent<RadixContextMenu.ContextMenuRadioGroupProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
|
|
29
|
+
export declare const ContextMenuRadioItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuRadioItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
|
|
31
|
+
export declare const ContextMenuSeparator: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSeparatorProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
32
|
+
|
|
33
|
+
export declare const ContextMenuSub: default_2.FC<RadixContextMenu.ContextMenuSubProps>;
|
|
34
|
+
|
|
35
|
+
export declare const ContextMenuSubContent: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSubContentProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
36
|
+
|
|
37
|
+
export declare const ContextMenuSubTrigger: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSubTriggerProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
38
|
+
inset?: boolean;
|
|
39
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
40
|
+
|
|
41
|
+
export { }
|
package/dist/dialog.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
2
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
3
|
+
import * as React_2 from 'react';
|
|
4
|
+
|
|
5
|
+
export declare const Dialog: ({ ...props }: {
|
|
6
|
+
[x: string]: any;
|
|
7
|
+
}) => JSX_2.Element;
|
|
8
|
+
|
|
9
|
+
export declare const DialogClose: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
|
|
11
|
+
export declare const DialogContent: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
|
|
13
|
+
export declare const DialogDescription: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
|
|
14
|
+
|
|
15
|
+
export declare const DialogFooter: {
|
|
16
|
+
({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX_2.Element;
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export declare const DialogHeader: {
|
|
21
|
+
({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX_2.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export declare const DialogOverlay: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
|
|
27
|
+
export declare const DialogPortal: React_2.FC<DialogPrimitive.DialogPortalProps>;
|
|
28
|
+
|
|
29
|
+
export declare const DialogTitle: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>, "ref"> & React_2.RefAttributes<HTMLHeadingElement>>;
|
|
30
|
+
|
|
31
|
+
export declare const DialogTrigger: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
32
|
+
|
|
33
|
+
export { }
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
2
|
+
import * as React_2 from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const DropdownMenu: React_2.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
5
|
+
|
|
6
|
+
export declare const DropdownMenuContent: React_2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
|
|
8
|
+
export declare const DropdownMenuGroup: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
|
|
10
|
+
export declare const DropdownMenuItem: React_2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
|
|
12
|
+
export declare const DropdownMenuSeparator: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
|
|
14
|
+
export declare const DropdownMenuTrigger: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
|
|
16
|
+
export { }
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DropzoneOptions } from 'react-dropzone';
|
|
2
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
export declare function Dropzone({ onDrop, children, className, overlayClassName, dropzoneOptions, showOverlay, }: DropzoneProps): JSX_2.Element;
|
|
6
|
+
|
|
7
|
+
declare interface DropzoneProps {
|
|
8
|
+
onDrop: (acceptedFiles: File[]) => void;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
className?: string;
|
|
11
|
+
overlayClassName?: string;
|
|
12
|
+
dropzoneOptions?: Omit<DropzoneOptions, 'onDrop'>;
|
|
13
|
+
showOverlay?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { }
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
export declare function ImageCropperModal({ isOpen, onClose, imageSrc, onCrop, title, outputSize }: ImageCropperModalProps): JSX_2.Element | null;
|
|
4
|
+
|
|
5
|
+
declare interface ImageCropperModalProps {
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
imageSrc: string | null;
|
|
9
|
+
onCrop: (croppedImage: string) => void;
|
|
10
|
+
title?: string;
|
|
11
|
+
outputSize?: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
export declare function ImageCropper({ value, onChange, size, className, placeholder, title, outputSize }: ImageCropperProps): JSX_2.Element;
|
|
4
|
+
|
|
5
|
+
declare interface ImageCropperProps {
|
|
6
|
+
value?: string | null;
|
|
7
|
+
onChange: (croppedImage: string | null) => void;
|
|
8
|
+
size?: number;
|
|
9
|
+
className?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
outputSize?: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { a as O } from "./utils-qaFjX9_3.js";
|
|
2
|
+
const m = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, y = O, j = (e, l) => (n) => {
|
|
3
|
+
var u;
|
|
4
|
+
if ((l == null ? void 0 : l.variants) == null) return y(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
|
|
5
|
+
const { variants: r, defaultVariants: d } = l, V = Object.keys(r).map((t) => {
|
|
6
|
+
const a = n == null ? void 0 : n[t], s = d == null ? void 0 : d[t];
|
|
7
|
+
if (a === null) return null;
|
|
8
|
+
const i = m(a) || m(s);
|
|
9
|
+
return r[t][i];
|
|
10
|
+
}), v = n && Object.entries(n).reduce((t, a) => {
|
|
11
|
+
let [s, i] = a;
|
|
12
|
+
return i === void 0 || (t[s] = i), t;
|
|
13
|
+
}, {}), N = l == null || (u = l.compoundVariants) === null || u === void 0 ? void 0 : u.reduce((t, a) => {
|
|
14
|
+
let { class: s, className: i, ...f } = a;
|
|
15
|
+
return Object.entries(f).every((C) => {
|
|
16
|
+
let [c, o] = C;
|
|
17
|
+
return Array.isArray(o) ? o.includes({
|
|
18
|
+
...d,
|
|
19
|
+
...v
|
|
20
|
+
}[c]) : {
|
|
21
|
+
...d,
|
|
22
|
+
...v
|
|
23
|
+
}[c] === o;
|
|
24
|
+
}) ? [
|
|
25
|
+
...t,
|
|
26
|
+
s,
|
|
27
|
+
i
|
|
28
|
+
] : t;
|
|
29
|
+
}, []);
|
|
30
|
+
return y(e, V, N, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
j as c
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index-DACAHwoB.js.map
|