@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,598 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Spinner
|
|
3
|
+
} from "../chunk-JB2QZV7K.js";
|
|
4
|
+
import {
|
|
5
|
+
Tooltip,
|
|
6
|
+
TooltipContent,
|
|
7
|
+
TooltipTrigger
|
|
8
|
+
} from "../chunk-D3SP7GL3.js";
|
|
9
|
+
import {
|
|
10
|
+
Button
|
|
11
|
+
} from "../chunk-TU5CYBB4.js";
|
|
12
|
+
import "../chunk-O2BG2KSY.js";
|
|
13
|
+
import {
|
|
14
|
+
cn
|
|
15
|
+
} from "../chunk-DN2AEEA2.js";
|
|
16
|
+
|
|
17
|
+
// src/components/collection/core.tsx
|
|
18
|
+
import { jsx } from "react/jsx-runtime";
|
|
19
|
+
function Collection({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
"data-slot": "collection",
|
|
24
|
+
className: cn("flex w-full flex-col gap-2", className),
|
|
25
|
+
...props
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
function CollectionViewport({ className, ...props }) {
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "collection-viewport",
|
|
34
|
+
className: cn("relative w-full overflow-x-auto", className),
|
|
35
|
+
...props
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// src/components/collection/footer.tsx
|
|
41
|
+
import { ChevronLeftIcon, MoreHorizontalIcon } from "lucide-react";
|
|
42
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
43
|
+
function CollectionFooter({ className, ...props }) {
|
|
44
|
+
return /* @__PURE__ */ jsx2(
|
|
45
|
+
"div",
|
|
46
|
+
{
|
|
47
|
+
"data-slot": "collection-footer",
|
|
48
|
+
className: cn(
|
|
49
|
+
"grid grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2",
|
|
50
|
+
className
|
|
51
|
+
),
|
|
52
|
+
...props
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
function CollectionFooterStart({ className, ...props }) {
|
|
57
|
+
return /* @__PURE__ */ jsx2("div", { className: cn("flex min-w-0 items-center justify-start", className), ...props });
|
|
58
|
+
}
|
|
59
|
+
function CollectionFooterCenter({ className, ...props }) {
|
|
60
|
+
return /* @__PURE__ */ jsx2("div", { className: cn("flex min-w-0 items-center justify-center", className), ...props });
|
|
61
|
+
}
|
|
62
|
+
function CollectionFooterEnd({ className, ...props }) {
|
|
63
|
+
return /* @__PURE__ */ jsx2("div", { className: cn("flex min-w-0 items-center justify-end", className), ...props });
|
|
64
|
+
}
|
|
65
|
+
function getPaginationItems(currentPage, totalPages) {
|
|
66
|
+
if (totalPages <= 0) {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
if (totalPages <= 7) {
|
|
70
|
+
return Array.from({ length: totalPages }, (_, index) => index + 1);
|
|
71
|
+
}
|
|
72
|
+
if (currentPage <= 4) {
|
|
73
|
+
return [1, 2, 3, 4, 5, "ellipsis", totalPages];
|
|
74
|
+
}
|
|
75
|
+
if (currentPage >= totalPages - 3) {
|
|
76
|
+
return [
|
|
77
|
+
1,
|
|
78
|
+
"ellipsis",
|
|
79
|
+
totalPages - 4,
|
|
80
|
+
totalPages - 3,
|
|
81
|
+
totalPages - 2,
|
|
82
|
+
totalPages - 1,
|
|
83
|
+
totalPages
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
return [1, "ellipsis", currentPage - 1, currentPage, currentPage + 1, "ellipsis", totalPages];
|
|
87
|
+
}
|
|
88
|
+
function CollectionPagination({ className, ...props }) {
|
|
89
|
+
return /* @__PURE__ */ jsx2(
|
|
90
|
+
"nav",
|
|
91
|
+
{
|
|
92
|
+
role: "navigation",
|
|
93
|
+
"aria-label": "pagination",
|
|
94
|
+
"data-slot": "collection-pagination",
|
|
95
|
+
className: cn("flex items-center gap-0.5", className),
|
|
96
|
+
...props
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
function CollectionPaginationPrev({
|
|
101
|
+
className,
|
|
102
|
+
variant = "outline",
|
|
103
|
+
size = "icon",
|
|
104
|
+
children,
|
|
105
|
+
"aria-label": ariaLabel = "Go to previous page",
|
|
106
|
+
...props
|
|
107
|
+
}) {
|
|
108
|
+
return /* @__PURE__ */ jsx2(
|
|
109
|
+
Button,
|
|
110
|
+
{
|
|
111
|
+
"data-slot": "pagination-prev",
|
|
112
|
+
"aria-label": ariaLabel,
|
|
113
|
+
variant,
|
|
114
|
+
size,
|
|
115
|
+
className: cn("", className),
|
|
116
|
+
...props,
|
|
117
|
+
children: children ?? /* @__PURE__ */ jsx2(ChevronLeftIcon, {})
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function CollectionPaginationEllipsis({
|
|
122
|
+
className,
|
|
123
|
+
...props
|
|
124
|
+
}) {
|
|
125
|
+
return /* @__PURE__ */ jsxs(
|
|
126
|
+
"span",
|
|
127
|
+
{
|
|
128
|
+
"data-slot": "pagination-ellipsis",
|
|
129
|
+
className: cn(
|
|
130
|
+
"text-text-muted flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
131
|
+
className
|
|
132
|
+
),
|
|
133
|
+
...props,
|
|
134
|
+
children: [
|
|
135
|
+
/* @__PURE__ */ jsx2(MoreHorizontalIcon, { "aria-hidden": "true" }),
|
|
136
|
+
/* @__PURE__ */ jsx2("span", { className: "sr-only", children: "More pages" })
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
function CollectionPaginationValue({
|
|
142
|
+
className,
|
|
143
|
+
variant,
|
|
144
|
+
size = "icon",
|
|
145
|
+
isActive,
|
|
146
|
+
applied,
|
|
147
|
+
...props
|
|
148
|
+
}) {
|
|
149
|
+
const active = isActive ?? Boolean(applied);
|
|
150
|
+
return /* @__PURE__ */ jsx2(
|
|
151
|
+
Button,
|
|
152
|
+
{
|
|
153
|
+
"data-slot": "pagination-value",
|
|
154
|
+
"aria-current": active ? "page" : void 0,
|
|
155
|
+
"data-active": active || void 0,
|
|
156
|
+
applied: active,
|
|
157
|
+
variant: variant ?? (active ? "outline" : "ghost"),
|
|
158
|
+
size,
|
|
159
|
+
className: cn("", className),
|
|
160
|
+
...props
|
|
161
|
+
}
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
function CollectionPaginationNext({
|
|
165
|
+
className,
|
|
166
|
+
variant = "outline",
|
|
167
|
+
size = "icon",
|
|
168
|
+
children,
|
|
169
|
+
"aria-label": ariaLabel = "Go to next page",
|
|
170
|
+
...props
|
|
171
|
+
}) {
|
|
172
|
+
return /* @__PURE__ */ jsx2(
|
|
173
|
+
Button,
|
|
174
|
+
{
|
|
175
|
+
"data-slot": "pagination-next",
|
|
176
|
+
"aria-label": ariaLabel,
|
|
177
|
+
variant,
|
|
178
|
+
size,
|
|
179
|
+
className: cn("", className),
|
|
180
|
+
...props,
|
|
181
|
+
children: children ?? /* @__PURE__ */ jsx2(ChevronLeftIcon, { className: "rotate-180" })
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// src/components/collection/grid.tsx
|
|
187
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
188
|
+
function CollectionGrid({ className, ...props }) {
|
|
189
|
+
return /* @__PURE__ */ jsx3(
|
|
190
|
+
"div",
|
|
191
|
+
{
|
|
192
|
+
role: "list",
|
|
193
|
+
"data-slot": "collection-grid",
|
|
194
|
+
className: cn(
|
|
195
|
+
"grid w-full grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-2 text-sm",
|
|
196
|
+
className
|
|
197
|
+
),
|
|
198
|
+
...props
|
|
199
|
+
}
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
function CollectionGridItem({ className, ...props }) {
|
|
203
|
+
return /* @__PURE__ */ jsx3(
|
|
204
|
+
"div",
|
|
205
|
+
{
|
|
206
|
+
role: "listitem",
|
|
207
|
+
"data-slot": "collection-grid-item",
|
|
208
|
+
className: cn(
|
|
209
|
+
"group/grid-item hover:bg-background-modifier-hover has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover flex min-w-0 flex-col gap-3 rounded-md border p-3 transition-colors",
|
|
210
|
+
className
|
|
211
|
+
),
|
|
212
|
+
...props
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
function CollectionGridItemHeader({ className, ...props }) {
|
|
217
|
+
return /* @__PURE__ */ jsx3(
|
|
218
|
+
"div",
|
|
219
|
+
{
|
|
220
|
+
"data-slot": "collection-grid-item-header",
|
|
221
|
+
className: cn("flex min-w-0 items-start justify-between gap-2", className),
|
|
222
|
+
...props
|
|
223
|
+
}
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
function CollectionGridItemContent({ className, ...props }) {
|
|
227
|
+
return /* @__PURE__ */ jsx3(
|
|
228
|
+
"div",
|
|
229
|
+
{
|
|
230
|
+
"data-slot": "collection-grid-item-content",
|
|
231
|
+
className: cn("flex min-w-0 flex-1 flex-col gap-1", className),
|
|
232
|
+
...props
|
|
233
|
+
}
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
function CollectionGridItemTitle({ className, ...props }) {
|
|
237
|
+
return /* @__PURE__ */ jsx3(
|
|
238
|
+
"div",
|
|
239
|
+
{
|
|
240
|
+
"data-slot": "collection-grid-item-title",
|
|
241
|
+
className: cn("text-text-normal line-clamp-1 font-medium", className),
|
|
242
|
+
...props
|
|
243
|
+
}
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
function CollectionGridItemDescription({
|
|
247
|
+
className,
|
|
248
|
+
...props
|
|
249
|
+
}) {
|
|
250
|
+
return /* @__PURE__ */ jsx3(
|
|
251
|
+
"div",
|
|
252
|
+
{
|
|
253
|
+
"data-slot": "collection-grid-item-description",
|
|
254
|
+
className: cn("text-text-muted line-clamp-2 text-sm", className),
|
|
255
|
+
...props
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
function CollectionGridItemFooter({ className, ...props }) {
|
|
260
|
+
return /* @__PURE__ */ jsx3(
|
|
261
|
+
"div",
|
|
262
|
+
{
|
|
263
|
+
"data-slot": "collection-grid-item-footer",
|
|
264
|
+
className: cn("text-text-muted flex min-w-0 items-center justify-between gap-2", className),
|
|
265
|
+
...props
|
|
266
|
+
}
|
|
267
|
+
);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// src/components/collection/header.tsx
|
|
271
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
272
|
+
function CollectionHeader({ className, ...props }) {
|
|
273
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("flex flex-col", className), ...props });
|
|
274
|
+
}
|
|
275
|
+
function CollectionActionBar({ className, ...props }) {
|
|
276
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("flex items-center justify-between", className), ...props });
|
|
277
|
+
}
|
|
278
|
+
function CollectionActionBarStart({ className, ...props }) {
|
|
279
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("flex items-center gap-1", className), ...props });
|
|
280
|
+
}
|
|
281
|
+
function CollectionActionBarEnd({ className, ...props }) {
|
|
282
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("flex gap-0.5", className), ...props });
|
|
283
|
+
}
|
|
284
|
+
function CollectionActionButton({
|
|
285
|
+
className,
|
|
286
|
+
variant = "ghost",
|
|
287
|
+
size = "icon",
|
|
288
|
+
tooltip,
|
|
289
|
+
...props
|
|
290
|
+
}) {
|
|
291
|
+
const button = /* @__PURE__ */ jsx4(Button, { className: cn(className), variant, size, ...props });
|
|
292
|
+
if (!tooltip) {
|
|
293
|
+
return button;
|
|
294
|
+
}
|
|
295
|
+
return /* @__PURE__ */ jsxs2(Tooltip, { children: [
|
|
296
|
+
/* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: button }),
|
|
297
|
+
/* @__PURE__ */ jsx4(TooltipContent, { children: tooltip })
|
|
298
|
+
] });
|
|
299
|
+
}
|
|
300
|
+
function CollectionQueryBar({ className, ...props }) {
|
|
301
|
+
return /* @__PURE__ */ jsx4(
|
|
302
|
+
"div",
|
|
303
|
+
{
|
|
304
|
+
className: cn("mt-2 flex min-w-0 items-center gap-1 border-t pt-2", className),
|
|
305
|
+
...props
|
|
306
|
+
}
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
function CollectionQueryBarStart({ className, ...props }) {
|
|
310
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("flex min-w-0 flex-1 flex-wrap items-center gap-1", className), ...props });
|
|
311
|
+
}
|
|
312
|
+
function CollectionQueryBarEnd({ className, ...props }) {
|
|
313
|
+
return /* @__PURE__ */ jsx4("div", { className: cn("ml-auto flex shrink-0 items-center gap-1", className), ...props });
|
|
314
|
+
}
|
|
315
|
+
function CollectionQueryBarStatus({
|
|
316
|
+
className,
|
|
317
|
+
children = "Fetching",
|
|
318
|
+
...props
|
|
319
|
+
}) {
|
|
320
|
+
return /* @__PURE__ */ jsxs2(
|
|
321
|
+
"div",
|
|
322
|
+
{
|
|
323
|
+
role: "status",
|
|
324
|
+
"aria-live": "polite",
|
|
325
|
+
"data-slot": "collection-query-bar-status",
|
|
326
|
+
className: cn("text-text-muted flex items-center gap-1 text-sm", className),
|
|
327
|
+
...props,
|
|
328
|
+
children: [
|
|
329
|
+
/* @__PURE__ */ jsx4(Spinner, { "aria-hidden": "true", role: "presentation", className: "size-3.5" }),
|
|
330
|
+
/* @__PURE__ */ jsx4("span", { children })
|
|
331
|
+
]
|
|
332
|
+
}
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// src/components/collection/list.tsx
|
|
337
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
338
|
+
function CollectionList({ className, ...props }) {
|
|
339
|
+
return /* @__PURE__ */ jsx5(
|
|
340
|
+
"div",
|
|
341
|
+
{
|
|
342
|
+
role: "list",
|
|
343
|
+
"data-slot": "collection-list",
|
|
344
|
+
className: cn("w-full border-y text-sm", className),
|
|
345
|
+
...props
|
|
346
|
+
}
|
|
347
|
+
);
|
|
348
|
+
}
|
|
349
|
+
function CollectionListItem({ className, ...props }) {
|
|
350
|
+
return /* @__PURE__ */ jsx5(
|
|
351
|
+
"div",
|
|
352
|
+
{
|
|
353
|
+
role: "listitem",
|
|
354
|
+
"data-slot": "collection-list-item",
|
|
355
|
+
className: cn(
|
|
356
|
+
"group/list-item hover:bg-background-modifier-hover has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover flex min-w-0 items-center gap-3 border-b p-2 transition-colors last:border-b-0",
|
|
357
|
+
className
|
|
358
|
+
),
|
|
359
|
+
...props
|
|
360
|
+
}
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
function CollectionListItemContent({ className, ...props }) {
|
|
364
|
+
return /* @__PURE__ */ jsx5(
|
|
365
|
+
"div",
|
|
366
|
+
{
|
|
367
|
+
"data-slot": "collection-list-item-content",
|
|
368
|
+
className: cn("flex min-w-0 flex-1 flex-col gap-0.5", className),
|
|
369
|
+
...props
|
|
370
|
+
}
|
|
371
|
+
);
|
|
372
|
+
}
|
|
373
|
+
function CollectionListItemTitle({ className, ...props }) {
|
|
374
|
+
return /* @__PURE__ */ jsx5(
|
|
375
|
+
"div",
|
|
376
|
+
{
|
|
377
|
+
"data-slot": "collection-list-item-title",
|
|
378
|
+
className: cn("text-text-normal truncate font-medium", className),
|
|
379
|
+
...props
|
|
380
|
+
}
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
function CollectionListItemDescription({
|
|
384
|
+
className,
|
|
385
|
+
...props
|
|
386
|
+
}) {
|
|
387
|
+
return /* @__PURE__ */ jsx5(
|
|
388
|
+
"div",
|
|
389
|
+
{
|
|
390
|
+
"data-slot": "collection-list-item-description",
|
|
391
|
+
className: cn("text-text-muted line-clamp-1 text-sm", className),
|
|
392
|
+
...props
|
|
393
|
+
}
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
function CollectionListItemMeta({ className, ...props }) {
|
|
397
|
+
return /* @__PURE__ */ jsx5(
|
|
398
|
+
"div",
|
|
399
|
+
{
|
|
400
|
+
"data-slot": "collection-list-item-meta",
|
|
401
|
+
className: cn("text-text-muted ml-auto flex shrink-0 items-center gap-2 text-sm", className),
|
|
402
|
+
...props
|
|
403
|
+
}
|
|
404
|
+
);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// src/components/collection/table.tsx
|
|
408
|
+
import "react";
|
|
409
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
410
|
+
function CollectionTable({ className, ...props }) {
|
|
411
|
+
return /* @__PURE__ */ jsx6(
|
|
412
|
+
"table",
|
|
413
|
+
{
|
|
414
|
+
"data-slot": "collection-table",
|
|
415
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
416
|
+
...props
|
|
417
|
+
}
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
function CollectionTableHeader({ className, ...props }) {
|
|
421
|
+
return /* @__PURE__ */ jsx6(
|
|
422
|
+
"thead",
|
|
423
|
+
{
|
|
424
|
+
"data-slot": "table-header",
|
|
425
|
+
className: cn(
|
|
426
|
+
"[&_th:hover]:bg-background-modifier-hover [&_tr]:h-9 [&_tr]:border-b",
|
|
427
|
+
className
|
|
428
|
+
),
|
|
429
|
+
...props
|
|
430
|
+
}
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
function CollectionTableBody({ className, ...props }) {
|
|
434
|
+
return /* @__PURE__ */ jsx6(
|
|
435
|
+
"tbody",
|
|
436
|
+
{
|
|
437
|
+
"data-slot": "table-body",
|
|
438
|
+
className: cn("[&_tr:hover]:bg-background-modifier-hover", className),
|
|
439
|
+
...props
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
}
|
|
443
|
+
function CollectionTableFooter({ className, ...props }) {
|
|
444
|
+
return /* @__PURE__ */ jsx6(
|
|
445
|
+
"tfoot",
|
|
446
|
+
{
|
|
447
|
+
"data-slot": "table-footer",
|
|
448
|
+
className: cn(
|
|
449
|
+
"[&_td:hover]:bg-background-modifier-hover [&_th:hover]:bg-background-modifier-hover border-y font-medium [&_td]:border-r-0 [&_th]:border-r-0 [&_tr]:h-9 [&>tr]:last:border-b-0",
|
|
450
|
+
className
|
|
451
|
+
),
|
|
452
|
+
...props
|
|
453
|
+
}
|
|
454
|
+
);
|
|
455
|
+
}
|
|
456
|
+
function CollectionTableRow({ className, ...props }) {
|
|
457
|
+
return /* @__PURE__ */ jsx6(
|
|
458
|
+
"tr",
|
|
459
|
+
{
|
|
460
|
+
"data-slot": "table-row",
|
|
461
|
+
className: cn(
|
|
462
|
+
"has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover border-b transition-colors",
|
|
463
|
+
className
|
|
464
|
+
),
|
|
465
|
+
...props
|
|
466
|
+
}
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
function CollectionTableTextHead({ className, ...props }) {
|
|
470
|
+
return /* @__PURE__ */ jsx6(
|
|
471
|
+
"th",
|
|
472
|
+
{
|
|
473
|
+
"data-slot": "table-head",
|
|
474
|
+
className: cn(
|
|
475
|
+
"text-text-normal h-9 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
476
|
+
className
|
|
477
|
+
),
|
|
478
|
+
...props
|
|
479
|
+
}
|
|
480
|
+
);
|
|
481
|
+
}
|
|
482
|
+
function CollectionTableMenuHead({ className, ...props }) {
|
|
483
|
+
return /* @__PURE__ */ jsx6(
|
|
484
|
+
"th",
|
|
485
|
+
{
|
|
486
|
+
"data-slot": "table-head-button",
|
|
487
|
+
className: cn(
|
|
488
|
+
"text-text-normal h-9 cursor-pointer text-left align-middle font-medium whitespace-nowrap select-none",
|
|
489
|
+
className
|
|
490
|
+
),
|
|
491
|
+
...props
|
|
492
|
+
}
|
|
493
|
+
);
|
|
494
|
+
}
|
|
495
|
+
function CollectionTableMenuHeadInner({ className, ...props }) {
|
|
496
|
+
return /* @__PURE__ */ jsx6(
|
|
497
|
+
"div",
|
|
498
|
+
{
|
|
499
|
+
"data-slot": "table-head-button-inner",
|
|
500
|
+
className: cn(
|
|
501
|
+
"flex h-full items-center gap-1 px-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&:has([role=checkbox])]:pr-0",
|
|
502
|
+
className
|
|
503
|
+
),
|
|
504
|
+
...props
|
|
505
|
+
}
|
|
506
|
+
);
|
|
507
|
+
}
|
|
508
|
+
function CollectionTableCell({ className, ...props }) {
|
|
509
|
+
return /* @__PURE__ */ jsx6(
|
|
510
|
+
"td",
|
|
511
|
+
{
|
|
512
|
+
"data-slot": "table-cell",
|
|
513
|
+
className: cn(
|
|
514
|
+
"group/cell relative border-r p-2 align-middle whitespace-nowrap last:border-r-0 has-data-[slot=table-cell-actions]:pr-10 [&:has([role=checkbox])]:pr-0",
|
|
515
|
+
className
|
|
516
|
+
),
|
|
517
|
+
...props
|
|
518
|
+
}
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
function CollectionTableCellActions({ className, ...props }) {
|
|
522
|
+
return /* @__PURE__ */ jsx6(
|
|
523
|
+
"div",
|
|
524
|
+
{
|
|
525
|
+
"data-slot": "table-cell-actions",
|
|
526
|
+
className: cn(
|
|
527
|
+
"pointer-events-none absolute inset-y-0 right-1 flex items-center gap-1 pr-1 opacity-0 transition-opacity group-focus-within/cell:pointer-events-auto group-focus-within/cell:opacity-100 group-hover/cell:pointer-events-auto group-hover/cell:opacity-100",
|
|
528
|
+
className
|
|
529
|
+
),
|
|
530
|
+
...props
|
|
531
|
+
}
|
|
532
|
+
);
|
|
533
|
+
}
|
|
534
|
+
function CollectionTableCellAction({
|
|
535
|
+
className,
|
|
536
|
+
variant = "normal",
|
|
537
|
+
size = "icon-xs",
|
|
538
|
+
...props
|
|
539
|
+
}) {
|
|
540
|
+
return /* @__PURE__ */ jsx6(
|
|
541
|
+
Button,
|
|
542
|
+
{
|
|
543
|
+
"data-slot": "table-cell-action",
|
|
544
|
+
variant,
|
|
545
|
+
size,
|
|
546
|
+
className: cn("shrink-0 shadow", className),
|
|
547
|
+
...props
|
|
548
|
+
}
|
|
549
|
+
);
|
|
550
|
+
}
|
|
551
|
+
export {
|
|
552
|
+
Collection,
|
|
553
|
+
CollectionActionBar,
|
|
554
|
+
CollectionActionBarEnd,
|
|
555
|
+
CollectionActionBarStart,
|
|
556
|
+
CollectionActionButton,
|
|
557
|
+
CollectionFooter,
|
|
558
|
+
CollectionFooterCenter,
|
|
559
|
+
CollectionFooterEnd,
|
|
560
|
+
CollectionFooterStart,
|
|
561
|
+
CollectionGrid,
|
|
562
|
+
CollectionGridItem,
|
|
563
|
+
CollectionGridItemContent,
|
|
564
|
+
CollectionGridItemDescription,
|
|
565
|
+
CollectionGridItemFooter,
|
|
566
|
+
CollectionGridItemHeader,
|
|
567
|
+
CollectionGridItemTitle,
|
|
568
|
+
CollectionHeader,
|
|
569
|
+
CollectionList,
|
|
570
|
+
CollectionListItem,
|
|
571
|
+
CollectionListItemContent,
|
|
572
|
+
CollectionListItemDescription,
|
|
573
|
+
CollectionListItemMeta,
|
|
574
|
+
CollectionListItemTitle,
|
|
575
|
+
CollectionPagination,
|
|
576
|
+
CollectionPaginationEllipsis,
|
|
577
|
+
CollectionPaginationNext,
|
|
578
|
+
CollectionPaginationPrev,
|
|
579
|
+
CollectionPaginationValue,
|
|
580
|
+
CollectionQueryBar,
|
|
581
|
+
CollectionQueryBarEnd,
|
|
582
|
+
CollectionQueryBarStart,
|
|
583
|
+
CollectionQueryBarStatus,
|
|
584
|
+
CollectionTable,
|
|
585
|
+
CollectionTableBody,
|
|
586
|
+
CollectionTableCell,
|
|
587
|
+
CollectionTableCellAction,
|
|
588
|
+
CollectionTableCellActions,
|
|
589
|
+
CollectionTableFooter,
|
|
590
|
+
CollectionTableHeader,
|
|
591
|
+
CollectionTableMenuHead,
|
|
592
|
+
CollectionTableMenuHeadInner,
|
|
593
|
+
CollectionTableRow,
|
|
594
|
+
CollectionTableTextHead,
|
|
595
|
+
CollectionViewport,
|
|
596
|
+
getPaginationItems
|
|
597
|
+
};
|
|
598
|
+
//# sourceMappingURL=collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/collection/core.tsx","../../src/components/collection/footer.tsx","../../src/components/collection/grid.tsx","../../src/components/collection/header.tsx","../../src/components/collection/list.tsx","../../src/components/collection/table.tsx"],"sourcesContent":["import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function Collection({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection\"\n className={cn(\"flex w-full flex-col gap-2\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionViewport({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-viewport\"\n className={cn(\"relative w-full overflow-x-auto\", className)}\n {...props}\n />\n )\n}\n","import { ChevronLeftIcon, MoreHorizontalIcon } from \"lucide-react\"\n\nimport { cn } from \"@hyunsdev/ui/lib/utils\"\n\nimport { Button } from \"../button\"\n\ntype PaginationItem = number | \"ellipsis\"\n\nexport function CollectionFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-footer\"\n className={cn(\n \"grid grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionFooterStart({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex min-w-0 items-center justify-start\", className)} {...props} />\n}\n\nexport function CollectionFooterCenter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex min-w-0 items-center justify-center\", className)} {...props} />\n}\n\nexport function CollectionFooterEnd({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex min-w-0 items-center justify-end\", className)} {...props} />\n}\n\nexport function getPaginationItems(currentPage: number, totalPages: number): PaginationItem[] {\n if (totalPages <= 0) {\n return []\n }\n\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, index) => index + 1)\n }\n\n if (currentPage <= 4) {\n return [1, 2, 3, 4, 5, \"ellipsis\", totalPages]\n }\n\n if (currentPage >= totalPages - 3) {\n return [\n 1,\n \"ellipsis\",\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ]\n }\n\n return [1, \"ellipsis\", currentPage - 1, currentPage, currentPage + 1, \"ellipsis\", totalPages]\n}\n\nexport function CollectionPagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"collection-pagination\"\n className={cn(\"flex items-center gap-0.5\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionPaginationPrev({\n className,\n variant = \"outline\",\n size = \"icon\",\n children,\n \"aria-label\": ariaLabel = \"Go to previous page\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"pagination-prev\"\n aria-label={ariaLabel}\n variant={variant}\n size={size}\n className={cn(\"\", className)}\n {...props}\n >\n {children ?? <ChevronLeftIcon />}\n </Button>\n )\n}\n\nexport function CollectionPaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"pagination-ellipsis\"\n className={cn(\n \"text-text-muted flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <MoreHorizontalIcon aria-hidden=\"true\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\ntype CollectionPaginationValueProps = React.ComponentProps<typeof Button> & {\n isActive?: boolean\n}\n\nexport function CollectionPaginationValue({\n className,\n variant,\n size = \"icon\",\n isActive,\n applied,\n ...props\n}: CollectionPaginationValueProps) {\n const active = isActive ?? Boolean(applied)\n\n return (\n <Button\n data-slot=\"pagination-value\"\n aria-current={active ? \"page\" : undefined}\n data-active={active || undefined}\n applied={active}\n variant={variant ?? (active ? \"outline\" : \"ghost\")}\n size={size}\n className={cn(\"\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionPaginationNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n children,\n \"aria-label\": ariaLabel = \"Go to next page\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"pagination-next\"\n aria-label={ariaLabel}\n variant={variant}\n size={size}\n className={cn(\"\", className)}\n {...props}\n >\n {children ?? <ChevronLeftIcon className=\"rotate-180\" />}\n </Button>\n )\n}\n","import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function CollectionGrid({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"collection-grid\"\n className={cn(\n \"grid w-full grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-2 text-sm\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItem({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"listitem\"\n data-slot=\"collection-grid-item\"\n className={cn(\n \"group/grid-item hover:bg-background-modifier-hover has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover flex min-w-0 flex-col gap-3 rounded-md border p-3 transition-colors\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-grid-item-header\"\n className={cn(\"flex min-w-0 items-start justify-between gap-2\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-grid-item-content\"\n className={cn(\"flex min-w-0 flex-1 flex-col gap-1\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-grid-item-title\"\n className={cn(\"text-text-normal line-clamp-1 font-medium\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItemDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-grid-item-description\"\n className={cn(\"text-text-muted line-clamp-2 text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionGridItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-grid-item-footer\"\n className={cn(\"text-text-muted flex min-w-0 items-center justify-between gap-2\", className)}\n {...props}\n />\n )\n}\n","import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nimport { Button } from \"../button\"\nimport { Spinner } from \"../spinner\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip\"\n\nexport function CollectionHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex flex-col\", className)} {...props} />\n}\n\nexport function CollectionActionBar({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex items-center justify-between\", className)} {...props} />\n}\n\nexport function CollectionActionBarStart({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex items-center gap-1\", className)} {...props} />\n}\n\nexport function CollectionActionBarEnd({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex gap-0.5\", className)} {...props} />\n}\n\nexport function CollectionActionButton({\n className,\n variant = \"ghost\",\n size = \"icon\",\n tooltip,\n ...props\n}: React.ComponentProps<typeof Button> & {\n tooltip?: React.ReactNode\n}) {\n const button = <Button className={cn(className)} variant={variant} size={size} {...props} />\n\n if (!tooltip) {\n return button\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n )\n}\n\nexport function CollectionQueryBar({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"mt-2 flex min-w-0 items-center gap-1 border-t pt-2\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionQueryBarStart({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div className={cn(\"flex min-w-0 flex-1 flex-wrap items-center gap-1\", className)} {...props} />\n )\n}\n\nexport function CollectionQueryBarEnd({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"ml-auto flex shrink-0 items-center gap-1\", className)} {...props} />\n}\n\nexport function CollectionQueryBarStatus({\n className,\n children = \"Fetching\",\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n data-slot=\"collection-query-bar-status\"\n className={cn(\"text-text-muted flex items-center gap-1 text-sm\", className)}\n {...props}\n >\n <Spinner aria-hidden=\"true\" role=\"presentation\" className=\"size-3.5\" />\n <span>{children}</span>\n </div>\n )\n}\n","import { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function CollectionList({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"collection-list\"\n className={cn(\"w-full border-y text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionListItem({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"listitem\"\n data-slot=\"collection-list-item\"\n className={cn(\n \"group/list-item hover:bg-background-modifier-hover has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover flex min-w-0 items-center gap-3 border-b p-2 transition-colors last:border-b-0\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionListItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-list-item-content\"\n className={cn(\"flex min-w-0 flex-1 flex-col gap-0.5\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionListItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-list-item-title\"\n className={cn(\"text-text-normal truncate font-medium\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionListItemDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-list-item-description\"\n className={cn(\"text-text-muted line-clamp-1 text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionListItemMeta({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"collection-list-item-meta\"\n className={cn(\"text-text-muted ml-auto flex shrink-0 items-center gap-2 text-sm\", className)}\n {...props}\n />\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\n\nimport { Button } from \"@hyunsdev/ui/components/button\"\nimport { cn } from \"@hyunsdev/ui/lib/utils\"\n\nexport function CollectionTable({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <table\n data-slot=\"collection-table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionTableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\n \"[&_th:hover]:bg-background-modifier-hover [&_tr]:h-9 [&_tr]:border-b\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:hover]:bg-background-modifier-hover\", className)}\n {...props}\n />\n )\n}\n\nexport function CollectionTableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"[&_td:hover]:bg-background-modifier-hover [&_th:hover]:bg-background-modifier-hover border-y font-medium [&_td]:border-r-0 [&_th]:border-r-0 [&_tr]:h-9 [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"has-aria-expanded:bg-background-modifier-hover data-[state=selected]:bg-background-modifier-hover border-b transition-colors\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableTextHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"text-text-normal h-9 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableMenuHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head-button\"\n className={cn(\n \"text-text-normal h-9 cursor-pointer text-left align-middle font-medium whitespace-nowrap select-none\",\n className,\n )}\n {...props}\n ></th>\n )\n}\n\nexport function CollectionTableMenuHeadInner({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"table-head-button-inner\"\n className={cn(\n \"flex h-full items-center gap-1 px-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&:has([role=checkbox])]:pr-0\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"group/cell relative border-r p-2 align-middle whitespace-nowrap last:border-r-0 has-data-[slot=table-cell-actions]:pr-10 [&:has([role=checkbox])]:pr-0\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableCellActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"table-cell-actions\"\n className={cn(\n \"pointer-events-none absolute inset-y-0 right-1 flex items-center gap-1 pr-1 opacity-0 transition-opacity group-focus-within/cell:pointer-events-auto group-focus-within/cell:opacity-100 group-hover/cell:pointer-events-auto group-hover/cell:opacity-100\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function CollectionTableCellAction({\n className,\n variant = \"normal\",\n size = \"icon-xs\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"table-cell-action\"\n variant={variant}\n size={size}\n className={cn(\"shrink-0 shadow\", className)}\n {...props}\n />\n )\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsxs","jsx","jsx"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
declare const colorDotColors: {
|
|
4
|
+
readonly accent: "text-text-accent";
|
|
5
|
+
readonly "on-accent": "text-text-on-accent";
|
|
6
|
+
readonly normal: "text-text-normal";
|
|
7
|
+
readonly muted: "text-text-muted";
|
|
8
|
+
readonly faint: "text-text-faint";
|
|
9
|
+
readonly info: "text-text-info";
|
|
10
|
+
readonly success: "text-text-success";
|
|
11
|
+
readonly warning: "text-text-warning";
|
|
12
|
+
readonly error: "text-text-error";
|
|
13
|
+
};
|
|
14
|
+
type ColorDotColor = keyof typeof colorDotColors;
|
|
15
|
+
declare function ColorDot({ className, color, ...props }: React.ComponentProps<"span"> & {
|
|
16
|
+
color?: ColorDotColor;
|
|
17
|
+
}): React.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { ColorDot, type ColorDotColor };
|