@hanzo/ui 5.3.28 → 5.3.29
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/dist/3d/button.js +298 -0
- package/dist/3d/button.mjs +273 -0
- package/dist/3d/card.js +234 -0
- package/dist/3d/card.mjs +207 -0
- package/dist/3d/carousel.js +371 -0
- package/dist/3d/carousel.mjs +344 -0
- package/dist/3d/grid.js +362 -0
- package/dist/3d/grid.mjs +337 -0
- package/dist/3d/index.js +1518 -0
- package/dist/3d/index.mjs +1472 -0
- package/dist/3d/marquee.js +352 -0
- package/dist/3d/marquee.mjs +327 -0
- package/dist/3d/pin.js +46 -0
- package/dist/3d/pin.mjs +24 -0
- package/dist/accordion.js +80 -0
- package/dist/accordion.mjs +55 -0
- package/dist/alert-dialog.js +220 -0
- package/dist/alert-dialog.mjs +187 -0
- package/dist/alert.js +68 -0
- package/dist/alert.mjs +64 -0
- package/dist/animation/animated-background.js +424 -0
- package/dist/animation/animated-background.mjs +418 -0
- package/dist/animation/animated-beam.js +119 -0
- package/dist/animation/animated-beam.mjs +97 -0
- package/dist/animation/animated-cursor.js +275 -0
- package/dist/animation/animated-cursor.mjs +270 -0
- package/dist/animation/animated-icon.js +357 -0
- package/dist/animation/animated-icon.mjs +351 -0
- package/dist/animation/animated-list.js +339 -0
- package/dist/animation/animated-list.mjs +333 -0
- package/dist/animation/animated-number.js +283 -0
- package/dist/animation/animated-number.mjs +277 -0
- package/dist/animation/animated-testimonials.js +97 -0
- package/dist/animation/animated-testimonials.mjs +75 -0
- package/dist/animation/animated-tooltip.js +67 -0
- package/dist/animation/animated-tooltip.mjs +45 -0
- package/dist/animation/apple-cards-carousel.js +308 -0
- package/dist/animation/apple-cards-carousel.mjs +285 -0
- package/dist/animation/apple-hello-effect.js +60 -0
- package/dist/animation/apple-hello-effect.mjs +38 -0
- package/dist/animation/index.js +1952 -0
- package/dist/animation/index.mjs +1921 -0
- package/dist/avatar.js +71 -0
- package/dist/avatar.mjs +47 -0
- package/dist/badge.js +66 -0
- package/dist/badge.mjs +40 -0
- package/dist/blocks/index.js +1665 -0
- package/dist/blocks/index.mjs +1626 -0
- package/dist/breadcrumb.js +107 -0
- package/dist/breadcrumb.mjs +99 -0
- package/dist/calendar.js +189 -0
- package/dist/calendar.mjs +164 -0
- package/dist/carousel.js +278 -0
- package/dist/carousel.mjs +249 -0
- package/dist/checkbox.js +60 -0
- package/dist/checkbox.mjs +35 -0
- package/dist/code/block.js +226 -0
- package/dist/code/block.mjs +203 -0
- package/dist/code/compare.js +446 -0
- package/dist/code/compare.mjs +423 -0
- package/dist/code/diff.js +430 -0
- package/dist/code/diff.mjs +407 -0
- package/dist/code/editor.js +243 -0
- package/dist/code/editor.mjs +218 -0
- package/dist/code/explorer.js +291 -0
- package/dist/code/explorer.mjs +268 -0
- package/dist/code/index.js +2551 -0
- package/dist/code/index.mjs +2510 -0
- package/dist/code/preview.js +400 -0
- package/dist/code/preview.mjs +377 -0
- package/dist/code/snippet.js +274 -0
- package/dist/code/snippet.mjs +250 -0
- package/dist/code/tabs.js +75 -0
- package/dist/code/tabs.mjs +53 -0
- package/dist/code/terminal.js +437 -0
- package/dist/code/terminal.mjs +414 -0
- package/dist/collapsible.js +33 -0
- package/dist/collapsible.mjs +9 -0
- package/dist/command.js +262 -0
- package/dist/command.mjs +232 -0
- package/dist/context-menu.js +207 -0
- package/dist/context-menu.mjs +171 -0
- package/dist/device/index.js +3 -0
- package/dist/device/index.mjs +2 -0
- package/dist/dialog.js +151 -0
- package/dist/dialog.mjs +121 -0
- package/dist/dock/basic.js +174 -0
- package/dist/dock/basic.mjs +151 -0
- package/dist/dock/index.js +628 -0
- package/dist/dock/index.mjs +601 -0
- package/dist/dock/limelight-nav.js +295 -0
- package/dist/dock/limelight-nav.mjs +274 -0
- package/dist/dock/macos.js +141 -0
- package/dist/dock/macos.mjs +118 -0
- package/dist/dock/menu.js +70 -0
- package/dist/dock/menu.mjs +48 -0
- package/dist/dock/message.js +144 -0
- package/dist/dock/message.mjs +122 -0
- package/dist/drawer.js +115 -0
- package/dist/drawer.mjs +103 -0
- package/dist/dropdown-menu.js +202 -0
- package/dist/dropdown-menu.mjs +166 -0
- package/dist/finance/AdvancedChart.js +48 -0
- package/dist/finance/AdvancedChart.mjs +46 -0
- package/dist/finance/CompanyProfile.js +48 -0
- package/dist/finance/CompanyProfile.mjs +46 -0
- package/dist/finance/CryptoScreener.js +45 -0
- package/dist/finance/CryptoScreener.mjs +43 -0
- package/dist/finance/Financials.js +52 -0
- package/dist/finance/Financials.mjs +50 -0
- package/dist/finance/ForexScreener.js +46 -0
- package/dist/finance/ForexScreener.mjs +44 -0
- package/dist/finance/MarketOverview.js +104 -0
- package/dist/finance/MarketOverview.mjs +102 -0
- package/dist/finance/NewsTimeline.js +44 -0
- package/dist/finance/NewsTimeline.mjs +42 -0
- package/dist/finance/OrderEntry.js +131 -0
- package/dist/finance/OrderEntry.mjs +129 -0
- package/dist/finance/OrdersHistory.js +64 -0
- package/dist/finance/OrdersHistory.mjs +62 -0
- package/dist/finance/PositionsList.js +80 -0
- package/dist/finance/PositionsList.mjs +78 -0
- package/dist/finance/StockScreener.js +46 -0
- package/dist/finance/StockScreener.mjs +44 -0
- package/dist/finance/SymbolInfo.js +46 -0
- package/dist/finance/SymbolInfo.mjs +44 -0
- package/dist/finance/TechnicalAnalysis.js +54 -0
- package/dist/finance/TechnicalAnalysis.mjs +52 -0
- package/dist/finance/TickerTape.js +56 -0
- package/dist/finance/TickerTape.mjs +54 -0
- package/dist/finance/TradingPanel.js +191 -0
- package/dist/finance/TradingPanel.mjs +189 -0
- package/dist/finance/index.js +930 -0
- package/dist/finance/index.mjs +914 -0
- package/dist/form/index.js +155 -0
- package/dist/form/index.mjs +125 -0
- package/dist/form.js +172 -0
- package/dist/form.mjs +142 -0
- package/dist/hover-card.js +58 -0
- package/dist/hover-card.mjs +34 -0
- package/dist/index.js +10179 -0
- package/dist/index.mjs +9785 -0
- package/dist/input-otp.js +79 -0
- package/dist/input-otp.mjs +54 -0
- package/dist/lib/utils.js +28 -0
- package/dist/lib/utils.mjs +24 -0
- package/dist/navigation/index.js +98 -0
- package/dist/navigation/index.mjs +79 -0
- package/dist/navigation-menu.js +149 -0
- package/dist/navigation-menu.mjs +116 -0
- package/dist/pattern/grid-pattern.js +333 -0
- package/dist/pattern/grid-pattern.mjs +310 -0
- package/dist/pattern/index.js +333 -0
- package/dist/pattern/index.mjs +310 -0
- package/dist/popover.js +63 -0
- package/dist/popover.mjs +37 -0
- package/dist/primitives/index.js +10179 -0
- package/dist/primitives/index.mjs +9785 -0
- package/dist/primitives-export.js +10179 -0
- package/dist/primitives-export.mjs +9785 -0
- package/dist/progress.js +62 -0
- package/dist/progress.mjs +37 -0
- package/dist/project/gantt.js +65 -0
- package/dist/project/gantt.mjs +43 -0
- package/dist/project/index.js +636 -0
- package/dist/project/index.mjs +611 -0
- package/dist/project/kanban.js +597 -0
- package/dist/project/kanban.mjs +572 -0
- package/dist/project/list.js +35 -0
- package/dist/project/list.mjs +12 -0
- package/dist/radio-group.js +68 -0
- package/dist/radio-group.mjs +45 -0
- package/dist/resizable.js +72 -0
- package/dist/resizable.mjs +48 -0
- package/dist/scroll-area.js +89 -0
- package/dist/scroll-area.mjs +66 -0
- package/dist/select.js +140 -0
- package/dist/select.mjs +111 -0
- package/dist/separator.js +59 -0
- package/dist/separator.mjs +34 -0
- package/dist/sheet.js +148 -0
- package/dist/sheet.mjs +117 -0
- package/dist/skeleton.js +32 -0
- package/dist/skeleton.mjs +27 -0
- package/dist/slider.js +99 -0
- package/dist/slider.mjs +73 -0
- package/dist/sonner.js +34 -0
- package/dist/sonner.mjs +29 -0
- package/dist/switch.js +62 -0
- package/dist/switch.mjs +37 -0
- package/dist/table.js +110 -0
- package/dist/table.mjs +101 -0
- package/dist/tabs.js +82 -0
- package/dist/tabs.mjs +57 -0
- package/dist/tailwind/index.js +2023 -0
- package/dist/tailwind/index.mjs +2011 -0
- package/dist/textarea.js +78 -0
- package/dist/textarea.mjs +56 -0
- package/dist/toggle-group.js +118 -0
- package/dist/toggle-group.mjs +93 -0
- package/dist/toggle.js +71 -0
- package/dist/toggle.mjs +48 -0
- package/dist/tooltip.js +67 -0
- package/dist/tooltip.mjs +40 -0
- package/dist/types/index.js +57 -0
- package/dist/types/index.mjs +51 -0
- package/dist/ui/announcement.js +129 -0
- package/dist/ui/announcement.mjs +107 -0
- package/dist/ui/avatar-group.js +88 -0
- package/dist/ui/avatar-group.mjs +65 -0
- package/dist/ui/banner.js +85 -0
- package/dist/ui/banner.mjs +62 -0
- package/dist/ui/cursor.js +78 -0
- package/dist/ui/cursor.mjs +56 -0
- package/dist/ui/index.js +475 -0
- package/dist/ui/index.mjs +442 -0
- package/dist/ui/marquee.js +74 -0
- package/dist/ui/marquee.mjs +52 -0
- package/dist/ui/pill.js +85 -0
- package/dist/ui/pill.mjs +62 -0
- package/dist/ui/spinner.js +28 -0
- package/dist/ui/spinner.mjs +26 -0
- package/dist/ui/tags.js +101 -0
- package/dist/ui/tags.mjs +79 -0
- package/dist/ui/ticker.js +73 -0
- package/dist/ui/ticker.mjs +51 -0
- package/dist/util/index.js +463 -0
- package/dist/util/index.mjs +404 -0
- package/package.json +1 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var tailwindMerge = require('tailwind-merge');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
+
function cn(...inputs) {
|
|
13
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
14
|
+
}
|
|
15
|
+
__name(cn, "cn");
|
|
16
|
+
var Breadcrumb = /* @__PURE__ */ __name(({ ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", ref, ...props }), "Breadcrumb");
|
|
17
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
18
|
+
var BreadcrumbList = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19
|
+
"ol",
|
|
20
|
+
{
|
|
21
|
+
className: cn(
|
|
22
|
+
"text-text-secondary flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
|
|
23
|
+
className
|
|
24
|
+
),
|
|
25
|
+
ref,
|
|
26
|
+
...props
|
|
27
|
+
}
|
|
28
|
+
), "BreadcrumbList");
|
|
29
|
+
BreadcrumbList.displayName = "BreadcrumbList";
|
|
30
|
+
var BreadcrumbItem = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
"li",
|
|
32
|
+
{
|
|
33
|
+
className: cn("inline-flex items-center gap-1.5", className),
|
|
34
|
+
ref,
|
|
35
|
+
...props
|
|
36
|
+
}
|
|
37
|
+
), "BreadcrumbItem");
|
|
38
|
+
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
39
|
+
var BreadcrumbLink = /* @__PURE__ */ __name(({
|
|
40
|
+
asChild,
|
|
41
|
+
className,
|
|
42
|
+
ref,
|
|
43
|
+
...props
|
|
44
|
+
}) => {
|
|
45
|
+
const Comp = asChild ? reactSlot.Slot : "a";
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
Comp,
|
|
48
|
+
{
|
|
49
|
+
className: cn("hover:text-text-default transition-colors", className),
|
|
50
|
+
ref,
|
|
51
|
+
...props
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}, "BreadcrumbLink");
|
|
55
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
56
|
+
var BreadcrumbPage = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
+
"span",
|
|
58
|
+
{
|
|
59
|
+
"aria-current": "page",
|
|
60
|
+
"aria-disabled": "true",
|
|
61
|
+
className: cn("text-text-default font-normal", className),
|
|
62
|
+
ref,
|
|
63
|
+
role: "link",
|
|
64
|
+
...props
|
|
65
|
+
}
|
|
66
|
+
), "BreadcrumbPage");
|
|
67
|
+
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
68
|
+
var BreadcrumbSeparator = /* @__PURE__ */ __name(({
|
|
69
|
+
children,
|
|
70
|
+
className,
|
|
71
|
+
...props
|
|
72
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
+
"li",
|
|
74
|
+
{
|
|
75
|
+
"aria-hidden": "true",
|
|
76
|
+
className: cn("[&>svg]:h-4 [&>svg]:w-4", className),
|
|
77
|
+
role: "presentation",
|
|
78
|
+
...props,
|
|
79
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
|
|
80
|
+
}
|
|
81
|
+
), "BreadcrumbSeparator");
|
|
82
|
+
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
83
|
+
var BreadcrumbEllipsis = /* @__PURE__ */ __name(({
|
|
84
|
+
className,
|
|
85
|
+
...props
|
|
86
|
+
}) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
87
|
+
"span",
|
|
88
|
+
{
|
|
89
|
+
"aria-hidden": "true",
|
|
90
|
+
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
91
|
+
role: "presentation",
|
|
92
|
+
...props,
|
|
93
|
+
children: [
|
|
94
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "h-4 w-4" }),
|
|
95
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More" })
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
), "BreadcrumbEllipsis");
|
|
99
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
|
|
100
|
+
|
|
101
|
+
exports.Breadcrumb = Breadcrumb;
|
|
102
|
+
exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
|
|
103
|
+
exports.BreadcrumbItem = BreadcrumbItem;
|
|
104
|
+
exports.BreadcrumbLink = BreadcrumbLink;
|
|
105
|
+
exports.BreadcrumbList = BreadcrumbList;
|
|
106
|
+
exports.BreadcrumbPage = BreadcrumbPage;
|
|
107
|
+
exports.BreadcrumbSeparator = BreadcrumbSeparator;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
3
|
+
import { ChevronRight, MoreHorizontal } from 'lucide-react';
|
|
4
|
+
import { clsx } from 'clsx';
|
|
5
|
+
import { twMerge } from 'tailwind-merge';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
function cn(...inputs) {
|
|
11
|
+
return twMerge(clsx(inputs));
|
|
12
|
+
}
|
|
13
|
+
__name(cn, "cn");
|
|
14
|
+
var Breadcrumb = /* @__PURE__ */ __name(({ ref, ...props }) => /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", ref, ...props }), "Breadcrumb");
|
|
15
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
16
|
+
var BreadcrumbList = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsx(
|
|
17
|
+
"ol",
|
|
18
|
+
{
|
|
19
|
+
className: cn(
|
|
20
|
+
"text-text-secondary flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
ref,
|
|
24
|
+
...props
|
|
25
|
+
}
|
|
26
|
+
), "BreadcrumbList");
|
|
27
|
+
BreadcrumbList.displayName = "BreadcrumbList";
|
|
28
|
+
var BreadcrumbItem = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsx(
|
|
29
|
+
"li",
|
|
30
|
+
{
|
|
31
|
+
className: cn("inline-flex items-center gap-1.5", className),
|
|
32
|
+
ref,
|
|
33
|
+
...props
|
|
34
|
+
}
|
|
35
|
+
), "BreadcrumbItem");
|
|
36
|
+
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
37
|
+
var BreadcrumbLink = /* @__PURE__ */ __name(({
|
|
38
|
+
asChild,
|
|
39
|
+
className,
|
|
40
|
+
ref,
|
|
41
|
+
...props
|
|
42
|
+
}) => {
|
|
43
|
+
const Comp = asChild ? Slot : "a";
|
|
44
|
+
return /* @__PURE__ */ jsx(
|
|
45
|
+
Comp,
|
|
46
|
+
{
|
|
47
|
+
className: cn("hover:text-text-default transition-colors", className),
|
|
48
|
+
ref,
|
|
49
|
+
...props
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}, "BreadcrumbLink");
|
|
53
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
54
|
+
var BreadcrumbPage = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsx(
|
|
55
|
+
"span",
|
|
56
|
+
{
|
|
57
|
+
"aria-current": "page",
|
|
58
|
+
"aria-disabled": "true",
|
|
59
|
+
className: cn("text-text-default font-normal", className),
|
|
60
|
+
ref,
|
|
61
|
+
role: "link",
|
|
62
|
+
...props
|
|
63
|
+
}
|
|
64
|
+
), "BreadcrumbPage");
|
|
65
|
+
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
66
|
+
var BreadcrumbSeparator = /* @__PURE__ */ __name(({
|
|
67
|
+
children,
|
|
68
|
+
className,
|
|
69
|
+
...props
|
|
70
|
+
}) => /* @__PURE__ */ jsx(
|
|
71
|
+
"li",
|
|
72
|
+
{
|
|
73
|
+
"aria-hidden": "true",
|
|
74
|
+
className: cn("[&>svg]:h-4 [&>svg]:w-4", className),
|
|
75
|
+
role: "presentation",
|
|
76
|
+
...props,
|
|
77
|
+
children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
|
|
78
|
+
}
|
|
79
|
+
), "BreadcrumbSeparator");
|
|
80
|
+
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
81
|
+
var BreadcrumbEllipsis = /* @__PURE__ */ __name(({
|
|
82
|
+
className,
|
|
83
|
+
...props
|
|
84
|
+
}) => /* @__PURE__ */ jsxs(
|
|
85
|
+
"span",
|
|
86
|
+
{
|
|
87
|
+
"aria-hidden": "true",
|
|
88
|
+
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
89
|
+
role: "presentation",
|
|
90
|
+
...props,
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
|
|
93
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
), "BreadcrumbEllipsis");
|
|
97
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
|
|
98
|
+
|
|
99
|
+
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
|
package/dist/calendar.js
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var React2 = require('react');
|
|
7
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
8
|
+
var reactDayPicker = require('react-day-picker');
|
|
9
|
+
var clsx = require('clsx');
|
|
10
|
+
var tailwindMerge = require('tailwind-merge');
|
|
11
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
12
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
13
|
+
var lucideReact = require('lucide-react');
|
|
14
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
+
|
|
16
|
+
function _interopNamespace(e) {
|
|
17
|
+
if (e && e.__esModule) return e;
|
|
18
|
+
var n = Object.create(null);
|
|
19
|
+
if (e) {
|
|
20
|
+
Object.keys(e).forEach(function (k) {
|
|
21
|
+
if (k !== 'default') {
|
|
22
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
23
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return e[k]; }
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
n.default = e;
|
|
31
|
+
return Object.freeze(n);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
35
|
+
|
|
36
|
+
var __defProp = Object.defineProperty;
|
|
37
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
38
|
+
function cn(...inputs) {
|
|
39
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
40
|
+
}
|
|
41
|
+
__name(cn, "cn");
|
|
42
|
+
var buttonVariants = classVarianceAuthority.cva(
|
|
43
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
44
|
+
{
|
|
45
|
+
variants: {
|
|
46
|
+
variant: {
|
|
47
|
+
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
48
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
49
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
50
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
51
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
52
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
53
|
+
// Keep the additional Hanzo variants for backward compatibility
|
|
54
|
+
primary: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
55
|
+
linkFG: "text-primary underline-offset-4 hover:underline",
|
|
56
|
+
linkMuted: "text-muted-foreground underline-offset-4 hover:underline hover:text-foreground"
|
|
57
|
+
},
|
|
58
|
+
size: {
|
|
59
|
+
default: "h-9 px-4 py-2",
|
|
60
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
61
|
+
lg: "h-10 rounded-md px-8",
|
|
62
|
+
icon: "h-9 w-9"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
defaultVariants: {
|
|
66
|
+
variant: "default",
|
|
67
|
+
size: "default"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
var Button = React2__namespace.forwardRef(
|
|
72
|
+
({ className, variant, size, asChild = false, isLoading = false, children, ...props }, ref) => {
|
|
73
|
+
const Comp = asChild ? reactSlot.Slot : "button";
|
|
74
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
75
|
+
Comp,
|
|
76
|
+
{
|
|
77
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
78
|
+
ref,
|
|
79
|
+
...props,
|
|
80
|
+
children: [
|
|
81
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
+
lucideReact.Loader2,
|
|
83
|
+
{
|
|
84
|
+
className: cn("h-4 w-4 animate-spin", size !== "icon" && "mr-2")
|
|
85
|
+
}
|
|
86
|
+
) : null,
|
|
87
|
+
isLoading && size === "icon" ? null : children
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
Button.displayName = "Button";
|
|
94
|
+
function Calendar({
|
|
95
|
+
className,
|
|
96
|
+
classNames,
|
|
97
|
+
showOutsideDays = true,
|
|
98
|
+
...props
|
|
99
|
+
}) {
|
|
100
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
101
|
+
reactDayPicker.DayPicker,
|
|
102
|
+
{
|
|
103
|
+
showOutsideDays,
|
|
104
|
+
className: cn("p-3", className),
|
|
105
|
+
classNames: {
|
|
106
|
+
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
|
|
107
|
+
month: "space-y-4",
|
|
108
|
+
caption: "flex justify-center pt-1 relative items-center",
|
|
109
|
+
caption_label: "text-sm font-medium",
|
|
110
|
+
nav: "space-x-1 flex items-center",
|
|
111
|
+
nav_button: cn(
|
|
112
|
+
buttonVariants({ variant: "outline" }),
|
|
113
|
+
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
|
114
|
+
),
|
|
115
|
+
nav_button_previous: "absolute left-1",
|
|
116
|
+
nav_button_next: "absolute right-1",
|
|
117
|
+
table: "w-full border-collapse space-y-1",
|
|
118
|
+
head_row: "flex",
|
|
119
|
+
head_cell: "text-muted-1 rounded-md w-8 font-normal text-[0.8rem]",
|
|
120
|
+
row: "flex w-full mt-2",
|
|
121
|
+
cell: cn(
|
|
122
|
+
"relative p-0 text-center text-sm focus-within:relative focus-within:z-above-content [&:has([aria-selected])]:bg-level-1 [&:has([aria-selected].day-outside)]:bg-level-1/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",
|
|
123
|
+
props.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
|
|
124
|
+
),
|
|
125
|
+
day: cn(
|
|
126
|
+
buttonVariants({ variant: "ghost" }),
|
|
127
|
+
"h-8 w-8 p-0 font-normal aria-selected:opacity-100"
|
|
128
|
+
),
|
|
129
|
+
day_range_start: "day-range-start",
|
|
130
|
+
day_range_end: "day-range-end",
|
|
131
|
+
day_selected: "bg-primary text-primary-fg hover:bg-primary hover:text-primary-fg focus:bg-primary focus:text-primary-fg",
|
|
132
|
+
day_today: "bg-accent text-primary-fg",
|
|
133
|
+
day_outside: "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-1 aria-selected:opacity-30",
|
|
134
|
+
day_disabled: "text-muted-foreground opacity-50",
|
|
135
|
+
day_range_middle: "aria-selected:bg-accent aria-selected:text-primary-fg",
|
|
136
|
+
day_hidden: "invisible",
|
|
137
|
+
...classNames
|
|
138
|
+
},
|
|
139
|
+
components: {
|
|
140
|
+
Chevron: /* @__PURE__ */ __name(({ orientation, ...props2 }) => {
|
|
141
|
+
if (orientation === "left") {
|
|
142
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronLeftIcon, { className: "h-4 w-4" });
|
|
143
|
+
}
|
|
144
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronRightIcon, { className: "h-4 w-4" });
|
|
145
|
+
}, "Chevron")
|
|
146
|
+
},
|
|
147
|
+
...props
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
__name(Calendar, "Calendar");
|
|
152
|
+
Calendar.displayName = "Calendar";
|
|
153
|
+
function CalendarDayButton({
|
|
154
|
+
className,
|
|
155
|
+
day,
|
|
156
|
+
modifiers,
|
|
157
|
+
...props
|
|
158
|
+
}) {
|
|
159
|
+
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
160
|
+
const ref = React2__namespace.default.useRef(null);
|
|
161
|
+
React2__namespace.default.useEffect(() => {
|
|
162
|
+
if (modifiers.focused) ref.current?.focus();
|
|
163
|
+
}, [modifiers.focused]);
|
|
164
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
165
|
+
Button,
|
|
166
|
+
{
|
|
167
|
+
ref,
|
|
168
|
+
variant: "ghost",
|
|
169
|
+
size: "icon",
|
|
170
|
+
"data-day": day.date.toLocaleDateString(),
|
|
171
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
172
|
+
"data-range-start": modifiers.range_start,
|
|
173
|
+
"data-range-end": modifiers.range_end,
|
|
174
|
+
"data-range-middle": modifiers.range_middle,
|
|
175
|
+
className: cn(
|
|
176
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",
|
|
177
|
+
defaultClassNames.day,
|
|
178
|
+
className
|
|
179
|
+
),
|
|
180
|
+
...props
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
__name(CalendarDayButton, "CalendarDayButton");
|
|
185
|
+
var calendar_default = Calendar;
|
|
186
|
+
|
|
187
|
+
exports.Calendar = Calendar;
|
|
188
|
+
exports.CalendarDayButton = CalendarDayButton;
|
|
189
|
+
exports.default = calendar_default;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as React2 from 'react';
|
|
3
|
+
import React2__default from 'react';
|
|
4
|
+
import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';
|
|
5
|
+
import { DayPicker, getDefaultClassNames } from 'react-day-picker';
|
|
6
|
+
import { clsx } from 'clsx';
|
|
7
|
+
import { twMerge } from 'tailwind-merge';
|
|
8
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
9
|
+
import { cva } from 'class-variance-authority';
|
|
10
|
+
import { Loader2 } from 'lucide-react';
|
|
11
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
function cn(...inputs) {
|
|
16
|
+
return twMerge(clsx(inputs));
|
|
17
|
+
}
|
|
18
|
+
__name(cn, "cn");
|
|
19
|
+
var buttonVariants = cva(
|
|
20
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
21
|
+
{
|
|
22
|
+
variants: {
|
|
23
|
+
variant: {
|
|
24
|
+
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
25
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
26
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
27
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
28
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
29
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
30
|
+
// Keep the additional Hanzo variants for backward compatibility
|
|
31
|
+
primary: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
32
|
+
linkFG: "text-primary underline-offset-4 hover:underline",
|
|
33
|
+
linkMuted: "text-muted-foreground underline-offset-4 hover:underline hover:text-foreground"
|
|
34
|
+
},
|
|
35
|
+
size: {
|
|
36
|
+
default: "h-9 px-4 py-2",
|
|
37
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
38
|
+
lg: "h-10 rounded-md px-8",
|
|
39
|
+
icon: "h-9 w-9"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
defaultVariants: {
|
|
43
|
+
variant: "default",
|
|
44
|
+
size: "default"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
var Button = React2.forwardRef(
|
|
49
|
+
({ className, variant, size, asChild = false, isLoading = false, children, ...props }, ref) => {
|
|
50
|
+
const Comp = asChild ? Slot : "button";
|
|
51
|
+
return /* @__PURE__ */ jsxs(
|
|
52
|
+
Comp,
|
|
53
|
+
{
|
|
54
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
55
|
+
ref,
|
|
56
|
+
...props,
|
|
57
|
+
children: [
|
|
58
|
+
isLoading ? /* @__PURE__ */ jsx(
|
|
59
|
+
Loader2,
|
|
60
|
+
{
|
|
61
|
+
className: cn("h-4 w-4 animate-spin", size !== "icon" && "mr-2")
|
|
62
|
+
}
|
|
63
|
+
) : null,
|
|
64
|
+
isLoading && size === "icon" ? null : children
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
Button.displayName = "Button";
|
|
71
|
+
function Calendar({
|
|
72
|
+
className,
|
|
73
|
+
classNames,
|
|
74
|
+
showOutsideDays = true,
|
|
75
|
+
...props
|
|
76
|
+
}) {
|
|
77
|
+
return /* @__PURE__ */ jsx(
|
|
78
|
+
DayPicker,
|
|
79
|
+
{
|
|
80
|
+
showOutsideDays,
|
|
81
|
+
className: cn("p-3", className),
|
|
82
|
+
classNames: {
|
|
83
|
+
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
|
|
84
|
+
month: "space-y-4",
|
|
85
|
+
caption: "flex justify-center pt-1 relative items-center",
|
|
86
|
+
caption_label: "text-sm font-medium",
|
|
87
|
+
nav: "space-x-1 flex items-center",
|
|
88
|
+
nav_button: cn(
|
|
89
|
+
buttonVariants({ variant: "outline" }),
|
|
90
|
+
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
|
91
|
+
),
|
|
92
|
+
nav_button_previous: "absolute left-1",
|
|
93
|
+
nav_button_next: "absolute right-1",
|
|
94
|
+
table: "w-full border-collapse space-y-1",
|
|
95
|
+
head_row: "flex",
|
|
96
|
+
head_cell: "text-muted-1 rounded-md w-8 font-normal text-[0.8rem]",
|
|
97
|
+
row: "flex w-full mt-2",
|
|
98
|
+
cell: cn(
|
|
99
|
+
"relative p-0 text-center text-sm focus-within:relative focus-within:z-above-content [&:has([aria-selected])]:bg-level-1 [&:has([aria-selected].day-outside)]:bg-level-1/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",
|
|
100
|
+
props.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
|
|
101
|
+
),
|
|
102
|
+
day: cn(
|
|
103
|
+
buttonVariants({ variant: "ghost" }),
|
|
104
|
+
"h-8 w-8 p-0 font-normal aria-selected:opacity-100"
|
|
105
|
+
),
|
|
106
|
+
day_range_start: "day-range-start",
|
|
107
|
+
day_range_end: "day-range-end",
|
|
108
|
+
day_selected: "bg-primary text-primary-fg hover:bg-primary hover:text-primary-fg focus:bg-primary focus:text-primary-fg",
|
|
109
|
+
day_today: "bg-accent text-primary-fg",
|
|
110
|
+
day_outside: "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-1 aria-selected:opacity-30",
|
|
111
|
+
day_disabled: "text-muted-foreground opacity-50",
|
|
112
|
+
day_range_middle: "aria-selected:bg-accent aria-selected:text-primary-fg",
|
|
113
|
+
day_hidden: "invisible",
|
|
114
|
+
...classNames
|
|
115
|
+
},
|
|
116
|
+
components: {
|
|
117
|
+
Chevron: /* @__PURE__ */ __name(({ orientation, ...props2 }) => {
|
|
118
|
+
if (orientation === "left") {
|
|
119
|
+
return /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "h-4 w-4" });
|
|
120
|
+
}
|
|
121
|
+
return /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-4 w-4" });
|
|
122
|
+
}, "Chevron")
|
|
123
|
+
},
|
|
124
|
+
...props
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
__name(Calendar, "Calendar");
|
|
129
|
+
Calendar.displayName = "Calendar";
|
|
130
|
+
function CalendarDayButton({
|
|
131
|
+
className,
|
|
132
|
+
day,
|
|
133
|
+
modifiers,
|
|
134
|
+
...props
|
|
135
|
+
}) {
|
|
136
|
+
const defaultClassNames = getDefaultClassNames();
|
|
137
|
+
const ref = React2__default.useRef(null);
|
|
138
|
+
React2__default.useEffect(() => {
|
|
139
|
+
if (modifiers.focused) ref.current?.focus();
|
|
140
|
+
}, [modifiers.focused]);
|
|
141
|
+
return /* @__PURE__ */ jsx(
|
|
142
|
+
Button,
|
|
143
|
+
{
|
|
144
|
+
ref,
|
|
145
|
+
variant: "ghost",
|
|
146
|
+
size: "icon",
|
|
147
|
+
"data-day": day.date.toLocaleDateString(),
|
|
148
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
149
|
+
"data-range-start": modifiers.range_start,
|
|
150
|
+
"data-range-end": modifiers.range_end,
|
|
151
|
+
"data-range-middle": modifiers.range_middle,
|
|
152
|
+
className: cn(
|
|
153
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",
|
|
154
|
+
defaultClassNames.day,
|
|
155
|
+
className
|
|
156
|
+
),
|
|
157
|
+
...props
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
__name(CalendarDayButton, "CalendarDayButton");
|
|
162
|
+
var calendar_default = Calendar;
|
|
163
|
+
|
|
164
|
+
export { Calendar, CalendarDayButton, calendar_default as default };
|