@hyunsdev/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/README.md +89 -0
- package/SKILL.md +38 -0
- package/dist/WindowContext-DybYtZJa.d.ts +50 -0
- package/dist/_styles-BbTx89aX.d.ts +3 -0
- package/dist/chunk-23KUNTRD.js +49 -0
- package/dist/chunk-23KUNTRD.js.map +1 -0
- package/dist/chunk-3RTSANKB.js +51 -0
- package/dist/chunk-3RTSANKB.js.map +1 -0
- package/dist/chunk-4QIWBOF4.js +129 -0
- package/dist/chunk-4QIWBOF4.js.map +1 -0
- package/dist/chunk-5JCWC7IU.js +293 -0
- package/dist/chunk-5JCWC7IU.js.map +1 -0
- package/dist/chunk-6ANDNGHD.js +33 -0
- package/dist/chunk-6ANDNGHD.js.map +1 -0
- package/dist/chunk-7W7QZHEZ.js +42 -0
- package/dist/chunk-7W7QZHEZ.js.map +1 -0
- package/dist/chunk-BHO4WT2N.js +51 -0
- package/dist/chunk-BHO4WT2N.js.map +1 -0
- package/dist/chunk-BI3KKBIC.js +11 -0
- package/dist/chunk-BI3KKBIC.js.map +1 -0
- package/dist/chunk-D3SP7GL3.js +55 -0
- package/dist/chunk-D3SP7GL3.js.map +1 -0
- package/dist/chunk-D7W4RSQX.js +115 -0
- package/dist/chunk-D7W4RSQX.js.map +1 -0
- package/dist/chunk-DN2AEEA2.js +11 -0
- package/dist/chunk-DN2AEEA2.js.map +1 -0
- package/dist/chunk-ETTKFCO6.js +84 -0
- package/dist/chunk-ETTKFCO6.js.map +1 -0
- package/dist/chunk-GJT7TDBS.js +66 -0
- package/dist/chunk-GJT7TDBS.js.map +1 -0
- package/dist/chunk-HZT6RQYZ.js +109 -0
- package/dist/chunk-HZT6RQYZ.js.map +1 -0
- package/dist/chunk-JB2QZV7K.js +60 -0
- package/dist/chunk-JB2QZV7K.js.map +1 -0
- package/dist/chunk-KJJB2PVC.js +21 -0
- package/dist/chunk-KJJB2PVC.js.map +1 -0
- package/dist/chunk-NE3IVPMO.js +31 -0
- package/dist/chunk-NE3IVPMO.js.map +1 -0
- package/dist/chunk-O2BG2KSY.js +23 -0
- package/dist/chunk-O2BG2KSY.js.map +1 -0
- package/dist/chunk-OUFGNJ3V.js +1726 -0
- package/dist/chunk-OUFGNJ3V.js.map +1 -0
- package/dist/chunk-PLZMCJSL.js +351 -0
- package/dist/chunk-PLZMCJSL.js.map +1 -0
- package/dist/chunk-POG5DZBT.js +104 -0
- package/dist/chunk-POG5DZBT.js.map +1 -0
- package/dist/chunk-SECZM6JE.js +170 -0
- package/dist/chunk-SECZM6JE.js.map +1 -0
- package/dist/chunk-T64WPXSC.js +48 -0
- package/dist/chunk-T64WPXSC.js.map +1 -0
- package/dist/chunk-TU5CYBB4.js +90 -0
- package/dist/chunk-TU5CYBB4.js.map +1 -0
- package/dist/chunk-UVAI2U6X.js +153 -0
- package/dist/chunk-UVAI2U6X.js.map +1 -0
- package/dist/chunk-UXCBLYG6.js +142 -0
- package/dist/chunk-UXCBLYG6.js.map +1 -0
- package/dist/chunk-VUR4MQMH.js +53 -0
- package/dist/chunk-VUR4MQMH.js.map +1 -0
- package/dist/chunk-WIEKNG4S.js +26 -0
- package/dist/chunk-WIEKNG4S.js.map +1 -0
- package/dist/chunk-WIZ4OLOB.js +23 -0
- package/dist/chunk-WIZ4OLOB.js.map +1 -0
- package/dist/chunk-WJRJBMFN.js +21 -0
- package/dist/chunk-WJRJBMFN.js.map +1 -0
- package/dist/chunk-YUPLJP3F.js +33 -0
- package/dist/chunk-YUPLJP3F.js.map +1 -0
- package/dist/chunk-Z7ITPSUF.js +184 -0
- package/dist/chunk-Z7ITPSUF.js.map +1 -0
- package/dist/chunk-ZC76ALSI.js +75 -0
- package/dist/chunk-ZC76ALSI.js.map +1 -0
- package/dist/code-block-core-xkE94Rk5.d.ts +30 -0
- package/dist/components/accordion.d.ts +9 -0
- package/dist/components/accordion.js +98 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +26 -0
- package/dist/components/alert-dialog.js +341 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.d.ts +13 -0
- package/dist/components/alert.js +76 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/aspect-ratio.d.ts +6 -0
- package/dist/components/aspect-ratio.js +12 -0
- package/dist/components/aspect-ratio.js.map +1 -0
- package/dist/components/avatar.d.ts +13 -0
- package/dist/components/avatar.js +19 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +12 -0
- package/dist/components/badge.js +11 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +13 -0
- package/dist/components/breadcrumb.js +102 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button-group.d.ts +16 -0
- package/dist/components/button-group.js +15 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.d.ts +14 -0
- package/dist/components/button.js +11 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.d.ts +14 -0
- package/dist/components/calendar.js +13 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.d.ts +13 -0
- package/dist/components/card.js +21 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.d.ts +32 -0
- package/dist/components/carousel.js +196 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.d.ts +46 -0
- package/dist/components/chart.js +254 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.d.ts +6 -0
- package/dist/components/checkbox.js +41 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/code-block-core.d.ts +3 -0
- package/dist/components/code-block-core.js +13 -0
- package/dist/components/code-block-core.js.map +1 -0
- package/dist/components/code-block-custom.d.ts +20 -0
- package/dist/components/code-block-custom.js +16 -0
- package/dist/components/code-block-custom.js.map +1 -0
- package/dist/components/code-block-shiki.d.ts +13 -0
- package/dist/components/code-block-shiki.js +15 -0
- package/dist/components/code-block-shiki.js.map +1 -0
- package/dist/components/code-block.d.ts +5 -0
- package/dist/components/code-block.js +14 -0
- package/dist/components/code-block.js.map +1 -0
- package/dist/components/collapsible.d.ts +8 -0
- package/dist/components/collapsible.js +24 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/collection.d.ts +63 -0
- package/dist/components/collection.js +598 -0
- package/dist/components/collection.js.map +1 -0
- package/dist/components/color-dot.d.ts +19 -0
- package/dist/components/color-dot.js +41 -0
- package/dist/components/color-dot.js.map +1 -0
- package/dist/components/color-picker.d.ts +12 -0
- package/dist/components/color-picker.js +142 -0
- package/dist/components/color-picker.js.map +1 -0
- package/dist/components/combobox.d.ts +74 -0
- package/dist/components/combobox.js +610 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.d.ts +21 -0
- package/dist/components/command.js +31 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/date-picker.d.ts +43 -0
- package/dist/components/date-picker.js +235 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/dialog.d.ts +25 -0
- package/dist/components/dialog.js +31 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.d.ts +15 -0
- package/dist/components/drawer.js +124 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +34 -0
- package/dist/components/dropdown-menu.js +248 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/empty.d.ts +15 -0
- package/dist/components/empty.js +104 -0
- package/dist/components/empty.js.map +1 -0
- package/dist/components/field.d.ts +29 -0
- package/dist/components/field.js +214 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/format-bytes.d.ts +12 -0
- package/dist/components/format-bytes.js +30 -0
- package/dist/components/format-bytes.js.map +1 -0
- package/dist/components/format-number.d.ts +12 -0
- package/dist/components/format-number.js +30 -0
- package/dist/components/format-number.js.map +1 -0
- package/dist/components/gauge.d.ts +11 -0
- package/dist/components/gauge.js +82 -0
- package/dist/components/gauge.js.map +1 -0
- package/dist/components/hover-card.d.ts +8 -0
- package/dist/components/hover-card.js +45 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input-group.d.ts +24 -0
- package/dist/components/input-group.js +23 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.d.ts +20 -0
- package/dist/components/input-otp.js +95 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.d.ts +9 -0
- package/dist/components/input.js +9 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/item.d.ts +27 -0
- package/dist/components/item.js +182 -0
- package/dist/components/item.js.map +1 -0
- package/dist/components/kbd.d.ts +6 -0
- package/dist/components/kbd.js +34 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.d.ts +6 -0
- package/dist/components/label.js +9 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/loading-bar.d.ts +8 -0
- package/dist/components/loading-bar.js +127 -0
- package/dist/components/loading-bar.js.map +1 -0
- package/dist/components/loading-dots.d.ts +5 -0
- package/dist/components/loading-dots.js +45 -0
- package/dist/components/loading-dots.js.map +1 -0
- package/dist/components/main-provider.d.ts +7 -0
- package/dist/components/main-provider.js +12 -0
- package/dist/components/main-provider.js.map +1 -0
- package/dist/components/mark.d.ts +11 -0
- package/dist/components/mark.js +44 -0
- package/dist/components/mark.js.map +1 -0
- package/dist/components/pagination.d.ts +21 -0
- package/dist/components/pagination.js +114 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.d.ts +12 -0
- package/dist/components/popover.js +22 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/prev-next-navigation.d.ts +15 -0
- package/dist/components/prev-next-navigation.js +85 -0
- package/dist/components/prev-next-navigation.js.map +1 -0
- package/dist/components/progress.d.ts +6 -0
- package/dist/components/progress.js +38 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +7 -0
- package/dist/components/radio-group.js +57 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/relative-time.d.ts +16 -0
- package/dist/components/relative-time.js +75 -0
- package/dist/components/relative-time.js.map +1 -0
- package/dist/components/resizable.d.ts +10 -0
- package/dist/components/resizable.js +45 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/scroll-area.d.ts +7 -0
- package/dist/components/scroll-area.js +11 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +20 -0
- package/dist/components/select.js +189 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +6 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.d.ts +16 -0
- package/dist/components/sheet.js +25 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/show-more.d.ts +15 -0
- package/dist/components/show-more.js +79 -0
- package/dist/components/show-more.js.map +1 -0
- package/dist/components/skeleton.d.ts +5 -0
- package/dist/components/skeleton.js +8 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +6 -0
- package/dist/components/slider.js +65 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/snippet.d.ts +13 -0
- package/dist/components/snippet.js +135 -0
- package/dist/components/snippet.js.map +1 -0
- package/dist/components/sonner.d.ts +6 -0
- package/dist/components/sonner.js +10 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/spinner.d.ts +5 -0
- package/dist/components/spinner.js +8 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat.d.ts +17 -0
- package/dist/components/stat.js +71 -0
- package/dist/components/stat.js.map +1 -0
- package/dist/components/steps.d.ts +17 -0
- package/dist/components/steps.js +133 -0
- package/dist/components/steps.js.map +1 -0
- package/dist/components/switch.d.ts +8 -0
- package/dist/components/switch.js +44 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +12 -0
- package/dist/components/table.js +101 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +14 -0
- package/dist/components/tabs.js +88 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +5 -0
- package/dist/components/textarea.js +9 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/theme-provider.d.ts +10 -0
- package/dist/components/theme-provider.js +14 -0
- package/dist/components/theme-provider.js.map +1 -0
- package/dist/components/time-picker.d.ts +17 -0
- package/dist/components/time-picker.js +219 -0
- package/dist/components/time-picker.js.map +1 -0
- package/dist/components/timeline.d.ts +17 -0
- package/dist/components/timeline.js +138 -0
- package/dist/components/timeline.js.map +1 -0
- package/dist/components/toggle-group.d.ts +14 -0
- package/dist/components/toggle-group.js +82 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.d.ts +12 -0
- package/dist/components/toggle.js +11 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.d.ts +9 -0
- package/dist/components/tooltip.js +15 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/typography.d.ts +17 -0
- package/dist/components/typography.js +91 -0
- package/dist/components/typography.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +3 -0
- package/dist/hooks/use-mobile.js +7 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-theme.d.ts +3 -0
- package/dist/hooks/use-theme.js +8 -0
- package/dist/hooks/use-theme.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/center/index.d.ts +18 -0
- package/dist/layouts/center/index.js +73 -0
- package/dist/layouts/center/index.js.map +1 -0
- package/dist/layouts/chat/index.d.ts +42 -0
- package/dist/layouts/chat/index.js +191 -0
- package/dist/layouts/chat/index.js.map +1 -0
- package/dist/layouts/command/index.d.ts +2 -0
- package/dist/layouts/command/index.js +1 -0
- package/dist/layouts/command/index.js.map +1 -0
- package/dist/layouts/panel/index.d.ts +55 -0
- package/dist/layouts/panel/index.js +513 -0
- package/dist/layouts/panel/index.js.map +1 -0
- package/dist/layouts/presentation/index.d.ts +14 -0
- package/dist/layouts/presentation/index.js +100 -0
- package/dist/layouts/presentation/index.js.map +1 -0
- package/dist/layouts/site/index.d.ts +17 -0
- package/dist/layouts/site/index.js +82 -0
- package/dist/layouts/site/index.js.map +1 -0
- package/dist/layouts/window/index.d.ts +223 -0
- package/dist/layouts/window/index.js +127 -0
- package/dist/layouts/window/index.js.map +1 -0
- package/dist/layouts/workbench/index.d.ts +281 -0
- package/dist/layouts/workbench/index.js +2457 -0
- package/dist/layouts/workbench/index.js.map +1 -0
- package/dist/lib/format.d.ts +15 -0
- package/dist/lib/format.js +9 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/theme.d.ts +22 -0
- package/dist/lib/theme.js +25 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +7 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles/fonts.css +1 -0
- package/dist/styles/globals.css +717 -0
- package/dist/styles/tokens.css +693 -0
- package/package.json +137 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../chunk-DN2AEEA2.js";
|
|
4
|
+
|
|
5
|
+
// src/components/typography.tsx
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function H1({ className, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"h1",
|
|
10
|
+
{
|
|
11
|
+
className: cn(
|
|
12
|
+
"scroll-m-20 text-center text-4xl font-extrabold tracking-tight text-balance",
|
|
13
|
+
className
|
|
14
|
+
),
|
|
15
|
+
...props
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
function H2({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
"h2",
|
|
22
|
+
{
|
|
23
|
+
className: cn("scroll-m-20 pb-2 text-3xl font-semibold tracking-tight", className),
|
|
24
|
+
...props
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function H3({ className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsx("h3", { className: cn("scroll-m-20 text-2xl font-semibold tracking-tight", className), ...props });
|
|
30
|
+
}
|
|
31
|
+
function H4({ className, ...props }) {
|
|
32
|
+
return /* @__PURE__ */ jsx("h4", { className: cn("scroll-m-20 text-xl font-semibold tracking-tight", className), ...props });
|
|
33
|
+
}
|
|
34
|
+
function P({ className, ...props }) {
|
|
35
|
+
return /* @__PURE__ */ jsx("p", { className: cn("leading-7 [&:not(:first-child)]:mt-6", className), ...props });
|
|
36
|
+
}
|
|
37
|
+
function Blockquote({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx("blockquote", { className: cn("mt-6 border-l-2 pl-6 italic", className), ...props });
|
|
39
|
+
}
|
|
40
|
+
function Ul({ className, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx("ul", { className: cn("my-6 ml-6 list-disc [&>li]:mt-2", className), ...props });
|
|
42
|
+
}
|
|
43
|
+
function InlineCode({ className, ...props }) {
|
|
44
|
+
return /* @__PURE__ */ jsx(
|
|
45
|
+
"code",
|
|
46
|
+
{
|
|
47
|
+
className: cn(
|
|
48
|
+
"bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",
|
|
49
|
+
className
|
|
50
|
+
),
|
|
51
|
+
...props
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
function Lead({ className, ...props }) {
|
|
56
|
+
return /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground text-xl", className), ...props });
|
|
57
|
+
}
|
|
58
|
+
function Large({ className, ...props }) {
|
|
59
|
+
return /* @__PURE__ */ jsx("p", { className: cn("text-lg font-semibold", className), ...props });
|
|
60
|
+
}
|
|
61
|
+
function Small({ className, ...props }) {
|
|
62
|
+
return /* @__PURE__ */ jsx("small", { className: cn("text-sm leading-none font-medium", className), ...props });
|
|
63
|
+
}
|
|
64
|
+
function Muted({ className, ...props }) {
|
|
65
|
+
return /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground text-sm", className), ...props });
|
|
66
|
+
}
|
|
67
|
+
function A({ className, ...props }) {
|
|
68
|
+
return /* @__PURE__ */ jsx(
|
|
69
|
+
"a",
|
|
70
|
+
{
|
|
71
|
+
className: cn("text-text-accent hover:text-text-accent-hover hover:underline", className),
|
|
72
|
+
...props
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
A,
|
|
78
|
+
Blockquote,
|
|
79
|
+
H1,
|
|
80
|
+
H2,
|
|
81
|
+
H3,
|
|
82
|
+
H4,
|
|
83
|
+
InlineCode,
|
|
84
|
+
Large,
|
|
85
|
+
Lead,
|
|
86
|
+
Muted,
|
|
87
|
+
P,
|
|
88
|
+
Small,
|
|
89
|
+
Ul
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/typography.tsx"],"sourcesContent":["import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function H1({ className, ...props }: React.ComponentPropsWithRef<\"h1\">) {\n return (\n <h1\n className={cn(\n \"scroll-m-20 text-center text-4xl font-extrabold tracking-tight text-balance\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function H2({ className, ...props }: React.ComponentPropsWithRef<\"h2\">) {\n return (\n <h2\n className={cn(\"scroll-m-20 pb-2 text-3xl font-semibold tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nexport function H3({ className, ...props }: React.ComponentPropsWithRef<\"h3\">) {\n return (\n <h3 className={cn(\"scroll-m-20 text-2xl font-semibold tracking-tight\", className)} {...props} />\n )\n}\n\nexport function H4({ className, ...props }: React.ComponentPropsWithRef<\"h4\">) {\n return (\n <h4 className={cn(\"scroll-m-20 text-xl font-semibold tracking-tight\", className)} {...props} />\n )\n}\n\nexport function P({ className, ...props }: React.ComponentPropsWithRef<\"p\">) {\n return <p className={cn(\"leading-7 [&:not(:first-child)]:mt-6\", className)} {...props} />\n}\n\nexport function Blockquote({ className, ...props }: React.ComponentPropsWithRef<\"blockquote\">) {\n return <blockquote className={cn(\"mt-6 border-l-2 pl-6 italic\", className)} {...props} />\n}\n\nexport function Ul({ className, ...props }: React.ComponentPropsWithRef<\"ul\">) {\n return <ul className={cn(\"my-6 ml-6 list-disc [&>li]:mt-2\", className)} {...props} />\n}\n\nexport function InlineCode({ className, ...props }: React.ComponentPropsWithRef<\"code\">) {\n return (\n <code\n className={cn(\n \"bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function Lead({ className, ...props }: React.ComponentPropsWithRef<\"p\">) {\n return <p className={cn(\"text-muted-foreground text-xl\", className)} {...props} />\n}\n\nexport function Large({ className, ...props }: React.ComponentPropsWithRef<\"p\">) {\n return <p className={cn(\"text-lg font-semibold\", className)} {...props} />\n}\n\nexport function Small({ className, ...props }: React.ComponentPropsWithRef<\"small\">) {\n return <small className={cn(\"text-sm leading-none font-medium\", className)} {...props} />\n}\n\nexport function Muted({ className, ...props }: React.ComponentPropsWithRef<\"p\">) {\n return <p className={cn(\"text-muted-foreground text-sm\", className)} {...props} />\n}\n\nexport function A({ className, ...props }: React.ComponentPropsWithRef<\"a\">) {\n return (\n <a\n className={cn(\"text-text-accent hover:text-text-accent-hover hover:underline\", className)}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;AAII;AAFG,SAAS,GAAG,EAAE,WAAW,GAAG,MAAM,GAAsC;AAC7E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,GAAG,EAAE,WAAW,GAAG,MAAM,GAAsC;AAC7E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,0DAA0D,SAAS;AAAA,MAChF,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,GAAG,EAAE,WAAW,GAAG,MAAM,GAAsC;AAC7E,SACE,oBAAC,QAAG,WAAW,GAAG,qDAAqD,SAAS,GAAI,GAAG,OAAO;AAElG;AAEO,SAAS,GAAG,EAAE,WAAW,GAAG,MAAM,GAAsC;AAC7E,SACE,oBAAC,QAAG,WAAW,GAAG,oDAAoD,SAAS,GAAI,GAAG,OAAO;AAEjG;AAEO,SAAS,EAAE,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC3E,SAAO,oBAAC,OAAE,WAAW,GAAG,wCAAwC,SAAS,GAAI,GAAG,OAAO;AACzF;AAEO,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAA8C;AAC7F,SAAO,oBAAC,gBAAW,WAAW,GAAG,+BAA+B,SAAS,GAAI,GAAG,OAAO;AACzF;AAEO,SAAS,GAAG,EAAE,WAAW,GAAG,MAAM,GAAsC;AAC7E,SAAO,oBAAC,QAAG,WAAW,GAAG,mCAAmC,SAAS,GAAI,GAAG,OAAO;AACrF;AAEO,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAwC;AACvF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,KAAK,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC9E,SAAO,oBAAC,OAAE,WAAW,GAAG,iCAAiC,SAAS,GAAI,GAAG,OAAO;AAClF;AAEO,SAAS,MAAM,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC/E,SAAO,oBAAC,OAAE,WAAW,GAAG,yBAAyB,SAAS,GAAI,GAAG,OAAO;AAC1E;AAEO,SAAS,MAAM,EAAE,WAAW,GAAG,MAAM,GAAyC;AACnF,SAAO,oBAAC,WAAM,WAAW,GAAG,oCAAoC,SAAS,GAAI,GAAG,OAAO;AACzF;AAEO,SAAS,MAAM,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC/E,SAAO,oBAAC,OAAE,WAAW,GAAG,iCAAiC,SAAS,GAAI,GAAG,OAAO;AAClF;AAEO,SAAS,EAAE,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,iEAAiE,SAAS;AAAA,MACvF,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { Button, buttonVariants } from './components/button.js';
|
|
2
|
+
export { MainProvider } from './components/main-provider.js';
|
|
3
|
+
export { ThemeProvider, useTheme } from './components/theme-provider.js';
|
|
4
|
+
export { AccentPreset, ResolvedTheme, ThemeContextValue, ThemeMode, getThemeInitScript } from './lib/theme.js';
|
|
5
|
+
import 'class-variance-authority/types';
|
|
6
|
+
import 'react';
|
|
7
|
+
import 'class-variance-authority';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MainProvider
|
|
3
|
+
} from "./chunk-WIZ4OLOB.js";
|
|
4
|
+
import "./chunk-23KUNTRD.js";
|
|
5
|
+
import "./chunk-D3SP7GL3.js";
|
|
6
|
+
import {
|
|
7
|
+
ThemeProvider,
|
|
8
|
+
useTheme
|
|
9
|
+
} from "./chunk-UXCBLYG6.js";
|
|
10
|
+
import {
|
|
11
|
+
getThemeInitScript
|
|
12
|
+
} from "./chunk-3RTSANKB.js";
|
|
13
|
+
import {
|
|
14
|
+
Button,
|
|
15
|
+
buttonVariants
|
|
16
|
+
} from "./chunk-TU5CYBB4.js";
|
|
17
|
+
import "./chunk-O2BG2KSY.js";
|
|
18
|
+
import "./chunk-DN2AEEA2.js";
|
|
19
|
+
export {
|
|
20
|
+
Button,
|
|
21
|
+
MainProvider,
|
|
22
|
+
ThemeProvider,
|
|
23
|
+
buttonVariants,
|
|
24
|
+
getThemeInitScript,
|
|
25
|
+
useTheme
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { Card } from '../../components/card.js';
|
|
3
|
+
|
|
4
|
+
declare function CenterLayout({ className, children, ...props }: React__default.ComponentProps<"div">): React__default.JSX.Element;
|
|
5
|
+
declare function CenterHeader({ className, ...props }: React__default.ComponentProps<"div">): React__default.JSX.Element;
|
|
6
|
+
declare function CenterContent({ children, className, width, ...props }: React__default.ComponentProps<"div"> & {
|
|
7
|
+
width?: string;
|
|
8
|
+
}): React__default.JSX.Element;
|
|
9
|
+
declare function CenterContentHeader({ children }: {
|
|
10
|
+
children: React__default.ReactNode;
|
|
11
|
+
}): React__default.JSX.Element;
|
|
12
|
+
declare function CenterContentBody({ children }: {
|
|
13
|
+
children: React__default.ReactNode;
|
|
14
|
+
}): React__default.JSX.Element;
|
|
15
|
+
declare function CenterCard({ children, className, ...props }: React__default.ComponentProps<typeof Card>): React__default.JSX.Element;
|
|
16
|
+
declare function CenterFooter({ className, ...props }: React__default.ComponentProps<"div">): React__default.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { CenterCard, CenterContent, CenterContentBody, CenterContentHeader, CenterFooter, CenterHeader, CenterLayout };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Card
|
|
3
|
+
} from "../../chunk-HZT6RQYZ.js";
|
|
4
|
+
import "../../chunk-O2BG2KSY.js";
|
|
5
|
+
import {
|
|
6
|
+
cn
|
|
7
|
+
} from "../../chunk-DN2AEEA2.js";
|
|
8
|
+
|
|
9
|
+
// src/layouts/center/core/CenterLayout.tsx
|
|
10
|
+
import "react";
|
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
function CenterLayout({ className, children, ...props }) {
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
className: cn(
|
|
17
|
+
"bg-center-background flex min-h-svh flex-col items-center justify-between",
|
|
18
|
+
className
|
|
19
|
+
),
|
|
20
|
+
...props,
|
|
21
|
+
children
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
function CenterHeader({ className, ...props }) {
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
className: cn("flex w-full flex-col items-center justify-between", className),
|
|
30
|
+
...props
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
function CenterContent({
|
|
35
|
+
children,
|
|
36
|
+
className,
|
|
37
|
+
width = "400px",
|
|
38
|
+
...props
|
|
39
|
+
}) {
|
|
40
|
+
return /* @__PURE__ */ jsx(
|
|
41
|
+
"div",
|
|
42
|
+
{
|
|
43
|
+
className: cn("flex w-full flex-1 flex-col items-center justify-center", className),
|
|
44
|
+
style: {
|
|
45
|
+
maxWidth: width
|
|
46
|
+
},
|
|
47
|
+
...props,
|
|
48
|
+
children
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
function CenterContentHeader({ children }) {
|
|
53
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col items-center justify-center", children });
|
|
54
|
+
}
|
|
55
|
+
function CenterContentBody({ children }) {
|
|
56
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col items-center justify-center", children });
|
|
57
|
+
}
|
|
58
|
+
function CenterCard({ children, className, ...props }) {
|
|
59
|
+
return /* @__PURE__ */ jsx(Card, { className: cn("w-full", className), ...props, children });
|
|
60
|
+
}
|
|
61
|
+
function CenterFooter({ className, ...props }) {
|
|
62
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col items-center justify-center", className), ...props });
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
CenterCard,
|
|
66
|
+
CenterContent,
|
|
67
|
+
CenterContentBody,
|
|
68
|
+
CenterContentHeader,
|
|
69
|
+
CenterFooter,
|
|
70
|
+
CenterHeader,
|
|
71
|
+
CenterLayout
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layouts/center/core/CenterLayout.tsx"],"sourcesContent":["import React from \"react\"\n\nimport { Card } from \"@hyunsdev/ui/components/card\"\nimport { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function CenterLayout({ className, children, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"bg-center-background flex min-h-svh flex-col items-center justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function CenterHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex w-full flex-col items-center justify-between\", className)}\n {...props}\n />\n )\n}\n\nexport function CenterContent({\n children,\n className,\n width = \"400px\",\n ...props\n}: React.ComponentProps<\"div\"> & {\n width?: string\n}) {\n return (\n <div\n className={cn(\"flex w-full flex-1 flex-col items-center justify-center\", className)}\n style={{\n maxWidth: width,\n }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function CenterContentHeader({ children }: { children: React.ReactNode }) {\n return <div className=\"flex w-full flex-col items-center justify-center\">{children}</div>\n}\n\nexport function CenterContentBody({ children }: { children: React.ReactNode }) {\n return <div className=\"flex w-full flex-col items-center justify-center\">{children}</div>\n}\n\nexport function CenterCard({ children, className, ...props }: React.ComponentProps<typeof Card>) {\n return (\n <Card className={cn(\"w-full\", className)} {...props}>\n {children}\n </Card>\n )\n}\n\nexport function CenterFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div className={cn(\"flex w-full flex-col items-center justify-center\", className)} {...props} />\n )\n}\n"],"mappings":";;;;;;;;;AAAA,OAAkB;AAOd;AAFG,SAAS,aAAa,EAAE,WAAW,UAAU,GAAG,MAAM,GAAgC;AAC3F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AAEO,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAgC;AACjF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,qDAAqD,SAAS;AAAA,MAC3E,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,2DAA2D,SAAS;AAAA,MAClF,OAAO;AAAA,QACL,UAAU;AAAA,MACZ;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AAEO,SAAS,oBAAoB,EAAE,SAAS,GAAkC;AAC/E,SAAO,oBAAC,SAAI,WAAU,oDAAoD,UAAS;AACrF;AAEO,SAAS,kBAAkB,EAAE,SAAS,GAAkC;AAC7E,SAAO,oBAAC,SAAI,WAAU,oDAAoD,UAAS;AACrF;AAEO,SAAS,WAAW,EAAE,UAAU,WAAW,GAAG,MAAM,GAAsC;AAC/F,SACE,oBAAC,QAAK,WAAW,GAAG,UAAU,SAAS,GAAI,GAAG,OAC3C,UACH;AAEJ;AAEO,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAgC;AACjF,SACE,oBAAC,SAAI,WAAW,GAAG,oDAAoD,SAAS,GAAI,GAAG,OAAO;AAElG;","names":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
3
|
+
|
|
4
|
+
declare function ChatLayout({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
5
|
+
declare function ChatHeader({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
6
|
+
declare function ChatHeaderLeading({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
7
|
+
declare function ChatHeaderTrailing({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
8
|
+
|
|
9
|
+
declare function IncomingMessageItem({ children }: {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
}): React$1.JSX.Element;
|
|
12
|
+
declare function IncomingMessageAvatar(props: React.ComponentProps<typeof AvatarPrimitive.Root>): React$1.JSX.Element;
|
|
13
|
+
declare function IncomingMessageContent({ children }: {
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
}): React$1.JSX.Element;
|
|
16
|
+
declare function IncomingMessageBubble({ children }: {
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}): React$1.JSX.Element;
|
|
19
|
+
declare function IncomingMessageDescription({ children }: {
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
}): React$1.JSX.Element;
|
|
22
|
+
|
|
23
|
+
declare function UserMessageItem({ children }: {
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
}): React$1.JSX.Element;
|
|
26
|
+
declare function UserMessageBubble({ children }: {
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
}): React$1.JSX.Element;
|
|
29
|
+
|
|
30
|
+
declare function SystemMessageItem({ children }: {
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
}): React$1.JSX.Element;
|
|
33
|
+
|
|
34
|
+
declare function MessageComposer({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
35
|
+
declare function MessageComposerBox({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
36
|
+
declare function MessageComposerTextarea({ className, ...props }: React.ComponentProps<"textarea">): React$1.JSX.Element;
|
|
37
|
+
declare function MessageComposerBoxFooter({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
38
|
+
declare function MessageComposerDescription({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
39
|
+
|
|
40
|
+
declare function MessageList({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
41
|
+
|
|
42
|
+
export { ChatHeader, ChatHeaderLeading, ChatHeaderTrailing, ChatLayout, IncomingMessageAvatar, IncomingMessageBubble, IncomingMessageContent, IncomingMessageDescription, IncomingMessageItem, MessageComposer, MessageComposerBox, MessageComposerBoxFooter, MessageComposerDescription, MessageComposerTextarea, MessageList, SystemMessageItem, UserMessageBubble, UserMessageItem };
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ScrollArea,
|
|
3
|
+
ScrollBar
|
|
4
|
+
} from "../../chunk-GJT7TDBS.js";
|
|
5
|
+
import {
|
|
6
|
+
Avatar
|
|
7
|
+
} from "../../chunk-POG5DZBT.js";
|
|
8
|
+
import {
|
|
9
|
+
cn
|
|
10
|
+
} from "../../chunk-DN2AEEA2.js";
|
|
11
|
+
|
|
12
|
+
// src/layouts/chat/ChatLayout.tsx
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
function ChatLayout({ children, className, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex h-full w-full flex-col", className), ...props, children });
|
|
16
|
+
}
|
|
17
|
+
function ChatHeader({ children, className, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
"data-slot": "chat-header",
|
|
22
|
+
className: cn("flex h-11 items-center justify-between px-3 text-sm", className),
|
|
23
|
+
...props,
|
|
24
|
+
children
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function ChatHeaderLeading({ children, className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsx(
|
|
30
|
+
"div",
|
|
31
|
+
{
|
|
32
|
+
"data-slot": "chat-header-leading",
|
|
33
|
+
className: cn("flex items-center gap-0.5", className),
|
|
34
|
+
...props,
|
|
35
|
+
children
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
function ChatHeaderTrailing({ children, className, ...props }) {
|
|
40
|
+
return /* @__PURE__ */ jsx(
|
|
41
|
+
"div",
|
|
42
|
+
{
|
|
43
|
+
"data-slot": "chat-header-trailing",
|
|
44
|
+
className: cn("ml-auto flex items-center gap-0.5", className),
|
|
45
|
+
...props,
|
|
46
|
+
children
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// src/layouts/chat/message-item/IncomingMessageItem.tsx
|
|
52
|
+
import "@radix-ui/react-avatar";
|
|
53
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
54
|
+
function IncomingMessageItem({ children }) {
|
|
55
|
+
return /* @__PURE__ */ jsx2("div", { className: "flex w-full items-end gap-1 p-2", children });
|
|
56
|
+
}
|
|
57
|
+
function IncomingMessageAvatar(props) {
|
|
58
|
+
return /* @__PURE__ */ jsx2(Avatar, { size: "default", ...props });
|
|
59
|
+
}
|
|
60
|
+
function IncomingMessageContent({ children }) {
|
|
61
|
+
return /* @__PURE__ */ jsx2("div", { className: "flex flex-col gap-1", children });
|
|
62
|
+
}
|
|
63
|
+
function IncomingMessageBubble({ children }) {
|
|
64
|
+
return /* @__PURE__ */ jsx2("div", { className: "bg-background max-w-[80%] rounded-t-xl rounded-r-xl border px-3 py-1 text-sm", children });
|
|
65
|
+
}
|
|
66
|
+
function IncomingMessageDescription({ children }) {
|
|
67
|
+
return /* @__PURE__ */ jsx2("div", { className: "text-muted-foreground px-1 text-xs", children });
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// src/layouts/chat/message-item/UserMessageItem.tsx
|
|
71
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
72
|
+
function UserMessageItem({ children }) {
|
|
73
|
+
return /* @__PURE__ */ jsx3("div", { className: "flex w-full items-start p-2", children });
|
|
74
|
+
}
|
|
75
|
+
function UserMessageBubble({ children }) {
|
|
76
|
+
return /* @__PURE__ */ jsx3("div", { className: "bg-primary text-background ml-auto max-w-[80%] rounded-t-xl rounded-l-xl px-3 py-1 text-sm", children });
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// src/layouts/chat/message-item/SystemMessageItem.tsx
|
|
80
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
81
|
+
function SystemMessageItem({ children }) {
|
|
82
|
+
return /* @__PURE__ */ jsx4("div", { className: "flex w-full justify-center p-2", children: /* @__PURE__ */ jsx4("div", { className: "bg-background rounded-full border px-3 py-1 text-sm", children }) });
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// src/layouts/chat/MessageComposer.tsx
|
|
86
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
87
|
+
function MessageComposer({ children, className, ...props }) {
|
|
88
|
+
return /* @__PURE__ */ jsx5(
|
|
89
|
+
"div",
|
|
90
|
+
{
|
|
91
|
+
"data-slot": "message-composer",
|
|
92
|
+
className: cn("flex w-full flex-col items-center gap-1.5 p-2", className),
|
|
93
|
+
...props,
|
|
94
|
+
children
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
function MessageComposerBox({ children, className, ...props }) {
|
|
99
|
+
return /* @__PURE__ */ jsx5(
|
|
100
|
+
"div",
|
|
101
|
+
{
|
|
102
|
+
"data-slot": "message-composer-box",
|
|
103
|
+
className: cn(
|
|
104
|
+
"border-border bg-background-primary text-text-normal flex w-full flex-col rounded-xl border p-3",
|
|
105
|
+
className
|
|
106
|
+
),
|
|
107
|
+
...props,
|
|
108
|
+
children
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
function MessageComposerTextarea({ className, ...props }) {
|
|
113
|
+
return /* @__PURE__ */ jsx5(
|
|
114
|
+
"textarea",
|
|
115
|
+
{
|
|
116
|
+
name: "chat-input",
|
|
117
|
+
id: "chat-input",
|
|
118
|
+
placeholder: "Type your message here...",
|
|
119
|
+
className: cn("resize-none text-sm focus-visible:outline-none", className),
|
|
120
|
+
...props
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
function MessageComposerBoxFooter({
|
|
125
|
+
children,
|
|
126
|
+
className,
|
|
127
|
+
...props
|
|
128
|
+
}) {
|
|
129
|
+
return /* @__PURE__ */ jsx5(
|
|
130
|
+
"div",
|
|
131
|
+
{
|
|
132
|
+
"data-slot": "chat-input-footer",
|
|
133
|
+
className: cn("mt-2 flex items-center justify-end gap-2", className),
|
|
134
|
+
...props,
|
|
135
|
+
children
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
function MessageComposerDescription({
|
|
140
|
+
children,
|
|
141
|
+
className,
|
|
142
|
+
...props
|
|
143
|
+
}) {
|
|
144
|
+
return /* @__PURE__ */ jsx5(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
"data-slot": "chat-input-footer",
|
|
148
|
+
className: cn("text-chat-description flex text-center text-xs", className),
|
|
149
|
+
...props,
|
|
150
|
+
children
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// src/layouts/chat/MessageList.tsx
|
|
156
|
+
import { jsx as jsx6, jsxs } from "react/jsx-runtime";
|
|
157
|
+
function MessageList({ children, className, ...props }) {
|
|
158
|
+
return /* @__PURE__ */ jsx6(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
"data-slot": "message-list",
|
|
162
|
+
className: cn("flex h-full w-full flex-1 flex-col gap-4 overflow-hidden", className),
|
|
163
|
+
...props,
|
|
164
|
+
children: /* @__PURE__ */ jsxs(ScrollArea, { className: "h-full", children: [
|
|
165
|
+
/* @__PURE__ */ jsx6("div", { className: "", children }),
|
|
166
|
+
/* @__PURE__ */ jsx6(ScrollBar, { orientation: "horizontal" })
|
|
167
|
+
] })
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
export {
|
|
172
|
+
ChatHeader,
|
|
173
|
+
ChatHeaderLeading,
|
|
174
|
+
ChatHeaderTrailing,
|
|
175
|
+
ChatLayout,
|
|
176
|
+
IncomingMessageAvatar,
|
|
177
|
+
IncomingMessageBubble,
|
|
178
|
+
IncomingMessageContent,
|
|
179
|
+
IncomingMessageDescription,
|
|
180
|
+
IncomingMessageItem,
|
|
181
|
+
MessageComposer,
|
|
182
|
+
MessageComposerBox,
|
|
183
|
+
MessageComposerBoxFooter,
|
|
184
|
+
MessageComposerDescription,
|
|
185
|
+
MessageComposerTextarea,
|
|
186
|
+
MessageList,
|
|
187
|
+
SystemMessageItem,
|
|
188
|
+
UserMessageBubble,
|
|
189
|
+
UserMessageItem
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layouts/chat/ChatLayout.tsx","../../../src/layouts/chat/message-item/IncomingMessageItem.tsx","../../../src/layouts/chat/message-item/UserMessageItem.tsx","../../../src/layouts/chat/message-item/SystemMessageItem.tsx","../../../src/layouts/chat/MessageComposer.tsx","../../../src/layouts/chat/MessageList.tsx"],"sourcesContent":["import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function ChatLayout({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div className={cn(\"flex h-full w-full flex-col\", className)} {...props}>\n {children}\n </div>\n )\n}\n\nexport function ChatHeader({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chat-header\"\n className={cn(\"flex h-11 items-center justify-between px-3 text-sm\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function ChatHeaderLeading({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chat-header-leading\"\n className={cn(\"flex items-center gap-0.5\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function ChatHeaderTrailing({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chat-header-trailing\"\n className={cn(\"ml-auto flex items-center gap-0.5\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n","import * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { Avatar } from \"@hyunsdev/ui/components/avatar\"\n\nexport function IncomingMessageItem({ children }: { children?: React.ReactNode }) {\n return <div className=\"flex w-full items-end gap-1 p-2\">{children}</div>\n}\n\nexport function IncomingMessageAvatar(props: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return <Avatar size=\"default\" {...props} />\n}\n\nexport function IncomingMessageContent({ children }: { children?: React.ReactNode }) {\n return <div className=\"flex flex-col gap-1\">{children}</div>\n}\n\nexport function IncomingMessageBubble({ children }: { children?: React.ReactNode }) {\n return (\n <div className=\"bg-background max-w-[80%] rounded-t-xl rounded-r-xl border px-3 py-1 text-sm\">\n {children}\n </div>\n )\n}\n\nexport function IncomingMessageDescription({ children }: { children?: React.ReactNode }) {\n return <div className=\"text-muted-foreground px-1 text-xs\">{children}</div>\n}\n","export function UserMessageItem({ children }: { children?: React.ReactNode }) {\n return <div className=\"flex w-full items-start p-2\">{children}</div>\n}\n\nexport function UserMessageBubble({ children }: { children?: React.ReactNode }) {\n return (\n <div className=\"bg-primary text-background ml-auto max-w-[80%] rounded-t-xl rounded-l-xl px-3 py-1 text-sm\">\n {children}\n </div>\n )\n}\n","export function SystemMessageItem({ children }: { children?: React.ReactNode }) {\n return (\n <div className=\"flex w-full justify-center p-2\">\n <div className=\"bg-background rounded-full border px-3 py-1 text-sm\">{children}</div>\n </div>\n )\n}\n","import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function MessageComposer({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-composer\"\n className={cn(\"flex w-full flex-col items-center gap-1.5 p-2\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function MessageComposerBox({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-composer-box\"\n className={cn(\n \"border-border bg-background-primary text-text-normal flex w-full flex-col rounded-xl border p-3\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function MessageComposerTextarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n name=\"chat-input\"\n id=\"chat-input\"\n placeholder=\"Type your message here...\"\n className={cn(\"resize-none text-sm focus-visible:outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport function MessageComposerBoxFooter({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chat-input-footer\"\n className={cn(\"mt-2 flex items-center justify-end gap-2\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function MessageComposerDescription({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chat-input-footer\"\n className={cn(\"text-chat-description flex text-center text-xs\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n","import { ScrollArea, ScrollBar } from \"@hyunsdev/ui/components/scroll-area\"\nimport { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function MessageList({ children, className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-list\"\n className={cn(\"flex h-full w-full flex-1 flex-col gap-4 overflow-hidden\", className)}\n {...props}\n >\n <ScrollArea className=\"h-full\">\n <div className=\"\">{children}</div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n )\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsx","jsx"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
declare function PanelBreadcrumb({ className, ...props }: React$1.ComponentProps<"nav">): React$1.JSX.Element;
|
|
5
|
+
declare function PanelBreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): React$1.JSX.Element;
|
|
6
|
+
declare function PanelBreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
|
|
7
|
+
declare function PanelBreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
}): React$1.JSX.Element;
|
|
10
|
+
declare function PanelBreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
|
|
11
|
+
declare function PanelBreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
|
|
12
|
+
declare function PanelBreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
|
|
13
|
+
|
|
14
|
+
declare function Panel({ children, className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
15
|
+
declare function PanelBody({ className, children, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
16
|
+
declare function PanelFooter({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
17
|
+
declare function PanelHeader({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
18
|
+
declare function PanelHeaderLeading({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
19
|
+
declare function PanelHeaderTrailing({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
|
|
20
|
+
|
|
21
|
+
declare function PanelSidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & {
|
|
22
|
+
side?: "left" | "right";
|
|
23
|
+
variant?: "sidebar" | "floating" | "inset";
|
|
24
|
+
collapsible?: "offcanvas" | "icon" | "none";
|
|
25
|
+
}): React$1.JSX.Element;
|
|
26
|
+
declare function PanelSidebarInset({ className, ...props }: React$1.ComponentProps<"main">): React$1.JSX.Element;
|
|
27
|
+
declare function PanelSidebarRail({ className, ...props }: React$1.ComponentProps<"button">): React$1.JSX.Element;
|
|
28
|
+
|
|
29
|
+
declare const PANEL_SIDEBAR_MIN_WIDTH = "250px";
|
|
30
|
+
declare const PANEL_SIDEBAR_DEFAULT_WIDTH = "280px";
|
|
31
|
+
declare const PANEL_SIDEBAR_MAX_WIDTH = "400px";
|
|
32
|
+
type PanelSidebarContextProps = {
|
|
33
|
+
currentSide: "left" | "right";
|
|
34
|
+
hasSidebar: boolean;
|
|
35
|
+
isResizing: boolean;
|
|
36
|
+
sidebarWidth: number;
|
|
37
|
+
state: "expanded" | "collapsed";
|
|
38
|
+
open: boolean;
|
|
39
|
+
setOpen: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
40
|
+
toggleSidebar: () => void;
|
|
41
|
+
setHasSidebar: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
42
|
+
setCurrentSide: React__default.Dispatch<React__default.SetStateAction<"left" | "right">>;
|
|
43
|
+
handleRailClick: (event: React__default.MouseEvent<HTMLButtonElement>) => void;
|
|
44
|
+
handleRailKeyDown: (event: React__default.KeyboardEvent<HTMLButtonElement>) => void;
|
|
45
|
+
handleRailPointerDown: (event: React__default.PointerEvent<HTMLButtonElement>) => void;
|
|
46
|
+
};
|
|
47
|
+
declare const PanelSidebarContext: React__default.Context<PanelSidebarContextProps | null>;
|
|
48
|
+
declare function PanelSidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React__default.ComponentProps<"div"> & {
|
|
49
|
+
defaultOpen?: boolean;
|
|
50
|
+
open?: boolean;
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
}): React__default.JSX.Element;
|
|
53
|
+
declare function usePanelSidebar(): PanelSidebarContextProps;
|
|
54
|
+
|
|
55
|
+
export { PANEL_SIDEBAR_DEFAULT_WIDTH, PANEL_SIDEBAR_MAX_WIDTH, PANEL_SIDEBAR_MIN_WIDTH, Panel, PanelBody, PanelBreadcrumb, PanelBreadcrumbEllipsis, PanelBreadcrumbItem, PanelBreadcrumbLink, PanelBreadcrumbList, PanelBreadcrumbPage, PanelBreadcrumbSeparator, PanelFooter, PanelHeader, PanelHeaderLeading, PanelHeaderTrailing, PanelSidebar, PanelSidebarContext, type PanelSidebarContextProps, PanelSidebarInset, PanelSidebarProvider, PanelSidebarRail, usePanelSidebar };
|