@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.
Files changed (229) hide show
  1. package/dist/3d/button.js +298 -0
  2. package/dist/3d/button.mjs +273 -0
  3. package/dist/3d/card.js +234 -0
  4. package/dist/3d/card.mjs +207 -0
  5. package/dist/3d/carousel.js +371 -0
  6. package/dist/3d/carousel.mjs +344 -0
  7. package/dist/3d/grid.js +362 -0
  8. package/dist/3d/grid.mjs +337 -0
  9. package/dist/3d/index.js +1518 -0
  10. package/dist/3d/index.mjs +1472 -0
  11. package/dist/3d/marquee.js +352 -0
  12. package/dist/3d/marquee.mjs +327 -0
  13. package/dist/3d/pin.js +46 -0
  14. package/dist/3d/pin.mjs +24 -0
  15. package/dist/accordion.js +80 -0
  16. package/dist/accordion.mjs +55 -0
  17. package/dist/alert-dialog.js +220 -0
  18. package/dist/alert-dialog.mjs +187 -0
  19. package/dist/alert.js +68 -0
  20. package/dist/alert.mjs +64 -0
  21. package/dist/animation/animated-background.js +424 -0
  22. package/dist/animation/animated-background.mjs +418 -0
  23. package/dist/animation/animated-beam.js +119 -0
  24. package/dist/animation/animated-beam.mjs +97 -0
  25. package/dist/animation/animated-cursor.js +275 -0
  26. package/dist/animation/animated-cursor.mjs +270 -0
  27. package/dist/animation/animated-icon.js +357 -0
  28. package/dist/animation/animated-icon.mjs +351 -0
  29. package/dist/animation/animated-list.js +339 -0
  30. package/dist/animation/animated-list.mjs +333 -0
  31. package/dist/animation/animated-number.js +283 -0
  32. package/dist/animation/animated-number.mjs +277 -0
  33. package/dist/animation/animated-testimonials.js +97 -0
  34. package/dist/animation/animated-testimonials.mjs +75 -0
  35. package/dist/animation/animated-tooltip.js +67 -0
  36. package/dist/animation/animated-tooltip.mjs +45 -0
  37. package/dist/animation/apple-cards-carousel.js +308 -0
  38. package/dist/animation/apple-cards-carousel.mjs +285 -0
  39. package/dist/animation/apple-hello-effect.js +60 -0
  40. package/dist/animation/apple-hello-effect.mjs +38 -0
  41. package/dist/animation/index.js +1952 -0
  42. package/dist/animation/index.mjs +1921 -0
  43. package/dist/avatar.js +71 -0
  44. package/dist/avatar.mjs +47 -0
  45. package/dist/badge.js +66 -0
  46. package/dist/badge.mjs +40 -0
  47. package/dist/blocks/index.js +1665 -0
  48. package/dist/blocks/index.mjs +1626 -0
  49. package/dist/breadcrumb.js +107 -0
  50. package/dist/breadcrumb.mjs +99 -0
  51. package/dist/calendar.js +189 -0
  52. package/dist/calendar.mjs +164 -0
  53. package/dist/carousel.js +278 -0
  54. package/dist/carousel.mjs +249 -0
  55. package/dist/checkbox.js +60 -0
  56. package/dist/checkbox.mjs +35 -0
  57. package/dist/code/block.js +226 -0
  58. package/dist/code/block.mjs +203 -0
  59. package/dist/code/compare.js +446 -0
  60. package/dist/code/compare.mjs +423 -0
  61. package/dist/code/diff.js +430 -0
  62. package/dist/code/diff.mjs +407 -0
  63. package/dist/code/editor.js +243 -0
  64. package/dist/code/editor.mjs +218 -0
  65. package/dist/code/explorer.js +291 -0
  66. package/dist/code/explorer.mjs +268 -0
  67. package/dist/code/index.js +2551 -0
  68. package/dist/code/index.mjs +2510 -0
  69. package/dist/code/preview.js +400 -0
  70. package/dist/code/preview.mjs +377 -0
  71. package/dist/code/snippet.js +274 -0
  72. package/dist/code/snippet.mjs +250 -0
  73. package/dist/code/tabs.js +75 -0
  74. package/dist/code/tabs.mjs +53 -0
  75. package/dist/code/terminal.js +437 -0
  76. package/dist/code/terminal.mjs +414 -0
  77. package/dist/collapsible.js +33 -0
  78. package/dist/collapsible.mjs +9 -0
  79. package/dist/command.js +262 -0
  80. package/dist/command.mjs +232 -0
  81. package/dist/context-menu.js +207 -0
  82. package/dist/context-menu.mjs +171 -0
  83. package/dist/device/index.js +3 -0
  84. package/dist/device/index.mjs +2 -0
  85. package/dist/dialog.js +151 -0
  86. package/dist/dialog.mjs +121 -0
  87. package/dist/dock/basic.js +174 -0
  88. package/dist/dock/basic.mjs +151 -0
  89. package/dist/dock/index.js +628 -0
  90. package/dist/dock/index.mjs +601 -0
  91. package/dist/dock/limelight-nav.js +295 -0
  92. package/dist/dock/limelight-nav.mjs +274 -0
  93. package/dist/dock/macos.js +141 -0
  94. package/dist/dock/macos.mjs +118 -0
  95. package/dist/dock/menu.js +70 -0
  96. package/dist/dock/menu.mjs +48 -0
  97. package/dist/dock/message.js +144 -0
  98. package/dist/dock/message.mjs +122 -0
  99. package/dist/drawer.js +115 -0
  100. package/dist/drawer.mjs +103 -0
  101. package/dist/dropdown-menu.js +202 -0
  102. package/dist/dropdown-menu.mjs +166 -0
  103. package/dist/finance/AdvancedChart.js +48 -0
  104. package/dist/finance/AdvancedChart.mjs +46 -0
  105. package/dist/finance/CompanyProfile.js +48 -0
  106. package/dist/finance/CompanyProfile.mjs +46 -0
  107. package/dist/finance/CryptoScreener.js +45 -0
  108. package/dist/finance/CryptoScreener.mjs +43 -0
  109. package/dist/finance/Financials.js +52 -0
  110. package/dist/finance/Financials.mjs +50 -0
  111. package/dist/finance/ForexScreener.js +46 -0
  112. package/dist/finance/ForexScreener.mjs +44 -0
  113. package/dist/finance/MarketOverview.js +104 -0
  114. package/dist/finance/MarketOverview.mjs +102 -0
  115. package/dist/finance/NewsTimeline.js +44 -0
  116. package/dist/finance/NewsTimeline.mjs +42 -0
  117. package/dist/finance/OrderEntry.js +131 -0
  118. package/dist/finance/OrderEntry.mjs +129 -0
  119. package/dist/finance/OrdersHistory.js +64 -0
  120. package/dist/finance/OrdersHistory.mjs +62 -0
  121. package/dist/finance/PositionsList.js +80 -0
  122. package/dist/finance/PositionsList.mjs +78 -0
  123. package/dist/finance/StockScreener.js +46 -0
  124. package/dist/finance/StockScreener.mjs +44 -0
  125. package/dist/finance/SymbolInfo.js +46 -0
  126. package/dist/finance/SymbolInfo.mjs +44 -0
  127. package/dist/finance/TechnicalAnalysis.js +54 -0
  128. package/dist/finance/TechnicalAnalysis.mjs +52 -0
  129. package/dist/finance/TickerTape.js +56 -0
  130. package/dist/finance/TickerTape.mjs +54 -0
  131. package/dist/finance/TradingPanel.js +191 -0
  132. package/dist/finance/TradingPanel.mjs +189 -0
  133. package/dist/finance/index.js +930 -0
  134. package/dist/finance/index.mjs +914 -0
  135. package/dist/form/index.js +155 -0
  136. package/dist/form/index.mjs +125 -0
  137. package/dist/form.js +172 -0
  138. package/dist/form.mjs +142 -0
  139. package/dist/hover-card.js +58 -0
  140. package/dist/hover-card.mjs +34 -0
  141. package/dist/index.js +10179 -0
  142. package/dist/index.mjs +9785 -0
  143. package/dist/input-otp.js +79 -0
  144. package/dist/input-otp.mjs +54 -0
  145. package/dist/lib/utils.js +28 -0
  146. package/dist/lib/utils.mjs +24 -0
  147. package/dist/navigation/index.js +98 -0
  148. package/dist/navigation/index.mjs +79 -0
  149. package/dist/navigation-menu.js +149 -0
  150. package/dist/navigation-menu.mjs +116 -0
  151. package/dist/pattern/grid-pattern.js +333 -0
  152. package/dist/pattern/grid-pattern.mjs +310 -0
  153. package/dist/pattern/index.js +333 -0
  154. package/dist/pattern/index.mjs +310 -0
  155. package/dist/popover.js +63 -0
  156. package/dist/popover.mjs +37 -0
  157. package/dist/primitives/index.js +10179 -0
  158. package/dist/primitives/index.mjs +9785 -0
  159. package/dist/primitives-export.js +10179 -0
  160. package/dist/primitives-export.mjs +9785 -0
  161. package/dist/progress.js +62 -0
  162. package/dist/progress.mjs +37 -0
  163. package/dist/project/gantt.js +65 -0
  164. package/dist/project/gantt.mjs +43 -0
  165. package/dist/project/index.js +636 -0
  166. package/dist/project/index.mjs +611 -0
  167. package/dist/project/kanban.js +597 -0
  168. package/dist/project/kanban.mjs +572 -0
  169. package/dist/project/list.js +35 -0
  170. package/dist/project/list.mjs +12 -0
  171. package/dist/radio-group.js +68 -0
  172. package/dist/radio-group.mjs +45 -0
  173. package/dist/resizable.js +72 -0
  174. package/dist/resizable.mjs +48 -0
  175. package/dist/scroll-area.js +89 -0
  176. package/dist/scroll-area.mjs +66 -0
  177. package/dist/select.js +140 -0
  178. package/dist/select.mjs +111 -0
  179. package/dist/separator.js +59 -0
  180. package/dist/separator.mjs +34 -0
  181. package/dist/sheet.js +148 -0
  182. package/dist/sheet.mjs +117 -0
  183. package/dist/skeleton.js +32 -0
  184. package/dist/skeleton.mjs +27 -0
  185. package/dist/slider.js +99 -0
  186. package/dist/slider.mjs +73 -0
  187. package/dist/sonner.js +34 -0
  188. package/dist/sonner.mjs +29 -0
  189. package/dist/switch.js +62 -0
  190. package/dist/switch.mjs +37 -0
  191. package/dist/table.js +110 -0
  192. package/dist/table.mjs +101 -0
  193. package/dist/tabs.js +82 -0
  194. package/dist/tabs.mjs +57 -0
  195. package/dist/tailwind/index.js +2023 -0
  196. package/dist/tailwind/index.mjs +2011 -0
  197. package/dist/textarea.js +78 -0
  198. package/dist/textarea.mjs +56 -0
  199. package/dist/toggle-group.js +118 -0
  200. package/dist/toggle-group.mjs +93 -0
  201. package/dist/toggle.js +71 -0
  202. package/dist/toggle.mjs +48 -0
  203. package/dist/tooltip.js +67 -0
  204. package/dist/tooltip.mjs +40 -0
  205. package/dist/types/index.js +57 -0
  206. package/dist/types/index.mjs +51 -0
  207. package/dist/ui/announcement.js +129 -0
  208. package/dist/ui/announcement.mjs +107 -0
  209. package/dist/ui/avatar-group.js +88 -0
  210. package/dist/ui/avatar-group.mjs +65 -0
  211. package/dist/ui/banner.js +85 -0
  212. package/dist/ui/banner.mjs +62 -0
  213. package/dist/ui/cursor.js +78 -0
  214. package/dist/ui/cursor.mjs +56 -0
  215. package/dist/ui/index.js +475 -0
  216. package/dist/ui/index.mjs +442 -0
  217. package/dist/ui/marquee.js +74 -0
  218. package/dist/ui/marquee.mjs +52 -0
  219. package/dist/ui/pill.js +85 -0
  220. package/dist/ui/pill.mjs +62 -0
  221. package/dist/ui/spinner.js +28 -0
  222. package/dist/ui/spinner.mjs +26 -0
  223. package/dist/ui/tags.js +101 -0
  224. package/dist/ui/tags.mjs +79 -0
  225. package/dist/ui/ticker.js +73 -0
  226. package/dist/ui/ticker.mjs +51 -0
  227. package/dist/util/index.js +463 -0
  228. package/dist/util/index.mjs +404 -0
  229. package/package.json +1 -1
package/dist/3d/pin.js ADDED
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var utils = require('@hanzo/ui/lib/utils');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var Pin3D = React__namespace.forwardRef(
29
+ ({ className, title, href, children, ...props }, ref) => {
30
+ return /* @__PURE__ */ jsxRuntime.jsxs(
31
+ "div",
32
+ {
33
+ ref,
34
+ className: utils.cn("group/pin relative cursor-pointer", className),
35
+ ...props,
36
+ children: [
37
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 z-10 flex h-full w-full items-center justify-center opacity-0 transition duration-500 group-hover/pin:opacity-100", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-white opacity-0 transition duration-500 group-hover/pin:opacity-50" }) }) }),
38
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "transform-gpu transition duration-500 group-hover/pin:scale-95", children })
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ );
44
+ Pin3D.displayName = "Pin3D";
45
+
46
+ exports.Pin3D = Pin3D;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ import { cn } from '@hanzo/ui/lib/utils';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+
6
+ var Pin3D = React.forwardRef(
7
+ ({ className, title, href, children, ...props }, ref) => {
8
+ return /* @__PURE__ */ jsxs(
9
+ "div",
10
+ {
11
+ ref,
12
+ className: cn("group/pin relative cursor-pointer", className),
13
+ ...props,
14
+ children: [
15
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 z-10 flex h-full w-full items-center justify-center opacity-0 transition duration-500 group-hover/pin:opacity-100", children: /* @__PURE__ */ jsx("div", { className: "relative flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-white opacity-0 transition duration-500 group-hover/pin:opacity-50" }) }) }),
16
+ /* @__PURE__ */ jsx("div", { className: "transform-gpu transition duration-500 group-hover/pin:scale-95", children })
17
+ ]
18
+ }
19
+ );
20
+ }
21
+ );
22
+ Pin3D.displayName = "Pin3D";
23
+
24
+ export { Pin3D };
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var AccordionPrimitive = require('@radix-ui/react-accordion');
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
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
29
+
30
+ var __defProp = Object.defineProperty;
31
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
32
+ function cn(...inputs) {
33
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
34
+ }
35
+ __name(cn, "cn");
36
+ var Accordion = AccordionPrimitive__namespace.Root;
37
+ var AccordionItem = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Item, { className: cn("", className), ref, ...props }), "AccordionItem");
38
+ AccordionItem.displayName = "AccordionItem";
39
+ var AccordionTrigger = /* @__PURE__ */ __name(({
40
+ className,
41
+ children,
42
+ hideArrow = false,
43
+ ref,
44
+ ...props
45
+ }) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
46
+ AccordionPrimitive__namespace.Trigger,
47
+ {
48
+ className: cn(
49
+ "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
50
+ className
51
+ ),
52
+ ref,
53
+ ...props,
54
+ children: [
55
+ children,
56
+ hideArrow ? null : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
57
+ ]
58
+ }
59
+ ) }), "AccordionTrigger");
60
+ AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
61
+ var AccordionContent = /* @__PURE__ */ __name(({
62
+ className,
63
+ children,
64
+ ref,
65
+ ...props
66
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
67
+ AccordionPrimitive__namespace.Content,
68
+ {
69
+ className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down w-full overflow-hidden text-sm transition-all",
70
+ ref,
71
+ ...props,
72
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-0 pb-4", className), children })
73
+ }
74
+ ), "AccordionContent");
75
+ AccordionContent.displayName = AccordionPrimitive__namespace.Content.displayName;
76
+
77
+ exports.Accordion = Accordion;
78
+ exports.AccordionContent = AccordionContent;
79
+ exports.AccordionItem = AccordionItem;
80
+ exports.AccordionTrigger = AccordionTrigger;
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import { ChevronDown } 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 Accordion = AccordionPrimitive.Root;
15
+ var AccordionItem = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsx(AccordionPrimitive.Item, { className: cn("", className), ref, ...props }), "AccordionItem");
16
+ AccordionItem.displayName = "AccordionItem";
17
+ var AccordionTrigger = /* @__PURE__ */ __name(({
18
+ className,
19
+ children,
20
+ hideArrow = false,
21
+ ref,
22
+ ...props
23
+ }) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
24
+ AccordionPrimitive.Trigger,
25
+ {
26
+ className: cn(
27
+ "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
28
+ className
29
+ ),
30
+ ref,
31
+ ...props,
32
+ children: [
33
+ children,
34
+ hideArrow ? null : /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
35
+ ]
36
+ }
37
+ ) }), "AccordionTrigger");
38
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
39
+ var AccordionContent = /* @__PURE__ */ __name(({
40
+ className,
41
+ children,
42
+ ref,
43
+ ...props
44
+ }) => /* @__PURE__ */ jsx(
45
+ AccordionPrimitive.Content,
46
+ {
47
+ className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down w-full overflow-hidden text-sm transition-all",
48
+ ref,
49
+ ...props,
50
+ children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
51
+ }
52
+ ), "AccordionContent");
53
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
54
+
55
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,220 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
5
+ var clsx = require('clsx');
6
+ var tailwindMerge = require('tailwind-merge');
7
+ var reactSlot = require('@radix-ui/react-slot');
8
+ var classVarianceAuthority = require('class-variance-authority');
9
+ var lucideReact = require('lucide-react');
10
+ var React = require('react');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+
13
+ function _interopNamespace(e) {
14
+ if (e && e.__esModule) return e;
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n.default = e;
28
+ return Object.freeze(n);
29
+ }
30
+
31
+ var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
32
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
+
34
+ var __defProp = Object.defineProperty;
35
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
36
+ function cn(...inputs) {
37
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
38
+ }
39
+ __name(cn, "cn");
40
+ var buttonVariants = classVarianceAuthority.cva(
41
+ "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",
42
+ {
43
+ variants: {
44
+ variant: {
45
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
46
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
47
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
48
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
49
+ ghost: "hover:bg-accent hover:text-accent-foreground",
50
+ link: "text-primary underline-offset-4 hover:underline",
51
+ // Keep the additional Hanzo variants for backward compatibility
52
+ primary: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
53
+ linkFG: "text-primary underline-offset-4 hover:underline",
54
+ linkMuted: "text-muted-foreground underline-offset-4 hover:underline hover:text-foreground"
55
+ },
56
+ size: {
57
+ default: "h-9 px-4 py-2",
58
+ sm: "h-8 rounded-md px-3 text-xs",
59
+ lg: "h-10 rounded-md px-8",
60
+ icon: "h-9 w-9"
61
+ }
62
+ },
63
+ defaultVariants: {
64
+ variant: "default",
65
+ size: "default"
66
+ }
67
+ }
68
+ );
69
+ var Button = React__namespace.forwardRef(
70
+ ({ className, variant, size, asChild = false, isLoading = false, children, ...props }, ref) => {
71
+ const Comp = asChild ? reactSlot.Slot : "button";
72
+ return /* @__PURE__ */ jsxRuntime.jsxs(
73
+ Comp,
74
+ {
75
+ className: cn(buttonVariants({ variant, size, className })),
76
+ ref,
77
+ ...props,
78
+ children: [
79
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
80
+ lucideReact.Loader2,
81
+ {
82
+ className: cn("h-4 w-4 animate-spin", size !== "icon" && "mr-2")
83
+ }
84
+ ) : null,
85
+ isLoading && size === "icon" ? null : children
86
+ ]
87
+ }
88
+ );
89
+ }
90
+ );
91
+ Button.displayName = "Button";
92
+ var AlertDialog = AlertDialogPrimitive__namespace.Root;
93
+ var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
94
+ var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
95
+ var AlertDialogOverlay = /* @__PURE__ */ __name(({
96
+ className,
97
+ children,
98
+ ref,
99
+ ...props
100
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
101
+ AlertDialogPrimitive__namespace.Overlay,
102
+ {
103
+ className: cn(
104
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
105
+ "bg-bg-dark/90",
106
+ className
107
+ ),
108
+ ...props,
109
+ ref
110
+ }
111
+ ), "AlertDialogOverlay");
112
+ AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
113
+ var AlertDialogContent = /* @__PURE__ */ __name(({
114
+ className,
115
+ ref,
116
+ ...props
117
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
118
+ /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
119
+ /* @__PURE__ */ jsxRuntime.jsx(
120
+ AlertDialogPrimitive__namespace.Content,
121
+ {
122
+ className: cn(
123
+ "bg-bg-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 border-divider fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
124
+ className
125
+ ),
126
+ ref,
127
+ ...props
128
+ }
129
+ )
130
+ ] }), "AlertDialogContent");
131
+ AlertDialogContent.displayName = AlertDialogPrimitive__namespace.Content.displayName;
132
+ var AlertDialogHeader = /* @__PURE__ */ __name(({
133
+ className,
134
+ ...props
135
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
136
+ "div",
137
+ {
138
+ className: cn(
139
+ "flex flex-col space-y-2 text-center sm:text-left",
140
+ className
141
+ ),
142
+ ...props
143
+ }
144
+ ), "AlertDialogHeader");
145
+ AlertDialogHeader.displayName = "AlertDialogHeader";
146
+ var AlertDialogFooter = /* @__PURE__ */ __name(({
147
+ className,
148
+ ...props
149
+ }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex", className), ...props }), "AlertDialogFooter");
150
+ AlertDialogFooter.displayName = "AlertDialogFooter";
151
+ var AlertDialogTitle = /* @__PURE__ */ __name(({
152
+ className,
153
+ ref,
154
+ ...props
155
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
156
+ AlertDialogPrimitive__namespace.Title,
157
+ {
158
+ className: cn("text-lg font-semibold", className),
159
+ ref,
160
+ ...props
161
+ }
162
+ ), "AlertDialogTitle");
163
+ AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
164
+ var AlertDialogDescription = /* @__PURE__ */ __name(({
165
+ className,
166
+ ref,
167
+ ...props
168
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
169
+ AlertDialogPrimitive__namespace.Description,
170
+ {
171
+ className: cn("text-text-secondary text-sm", className),
172
+ ref,
173
+ ...props
174
+ }
175
+ ), "AlertDialogDescription");
176
+ AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
177
+ var AlertDialogAction = /* @__PURE__ */ __name(({
178
+ className,
179
+ ref,
180
+ ...props
181
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
182
+ AlertDialogPrimitive__namespace.Action,
183
+ {
184
+ className: cn(
185
+ buttonVariants({ variant: "default", size: "sm" }),
186
+ className
187
+ ),
188
+ ref,
189
+ ...props
190
+ }
191
+ ), "AlertDialogAction");
192
+ AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
193
+ var AlertDialogCancel = /* @__PURE__ */ __name(({
194
+ className,
195
+ ref,
196
+ ...props
197
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
198
+ AlertDialogPrimitive__namespace.Cancel,
199
+ {
200
+ className: cn(
201
+ buttonVariants({ variant: "outline", size: "sm" }),
202
+ className
203
+ ),
204
+ ref,
205
+ ...props
206
+ }
207
+ ), "AlertDialogCancel");
208
+ AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
209
+
210
+ exports.AlertDialog = AlertDialog;
211
+ exports.AlertDialogAction = AlertDialogAction;
212
+ exports.AlertDialogCancel = AlertDialogCancel;
213
+ exports.AlertDialogContent = AlertDialogContent;
214
+ exports.AlertDialogDescription = AlertDialogDescription;
215
+ exports.AlertDialogFooter = AlertDialogFooter;
216
+ exports.AlertDialogHeader = AlertDialogHeader;
217
+ exports.AlertDialogOverlay = AlertDialogOverlay;
218
+ exports.AlertDialogPortal = AlertDialogPortal;
219
+ exports.AlertDialogTitle = AlertDialogTitle;
220
+ exports.AlertDialogTrigger = AlertDialogTrigger;
@@ -0,0 +1,187 @@
1
+ "use client";
2
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
3
+ import { clsx } from 'clsx';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { Slot } from '@radix-ui/react-slot';
6
+ import { cva } from 'class-variance-authority';
7
+ import { Loader2 } from 'lucide-react';
8
+ import * as React from 'react';
9
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ function cn(...inputs) {
14
+ return twMerge(clsx(inputs));
15
+ }
16
+ __name(cn, "cn");
17
+ var buttonVariants = cva(
18
+ "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",
19
+ {
20
+ variants: {
21
+ variant: {
22
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
23
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
24
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
25
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
26
+ ghost: "hover:bg-accent hover:text-accent-foreground",
27
+ link: "text-primary underline-offset-4 hover:underline",
28
+ // Keep the additional Hanzo variants for backward compatibility
29
+ primary: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
30
+ linkFG: "text-primary underline-offset-4 hover:underline",
31
+ linkMuted: "text-muted-foreground underline-offset-4 hover:underline hover:text-foreground"
32
+ },
33
+ size: {
34
+ default: "h-9 px-4 py-2",
35
+ sm: "h-8 rounded-md px-3 text-xs",
36
+ lg: "h-10 rounded-md px-8",
37
+ icon: "h-9 w-9"
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ variant: "default",
42
+ size: "default"
43
+ }
44
+ }
45
+ );
46
+ var Button = React.forwardRef(
47
+ ({ className, variant, size, asChild = false, isLoading = false, children, ...props }, ref) => {
48
+ const Comp = asChild ? Slot : "button";
49
+ return /* @__PURE__ */ jsxs(
50
+ Comp,
51
+ {
52
+ className: cn(buttonVariants({ variant, size, className })),
53
+ ref,
54
+ ...props,
55
+ children: [
56
+ isLoading ? /* @__PURE__ */ jsx(
57
+ Loader2,
58
+ {
59
+ className: cn("h-4 w-4 animate-spin", size !== "icon" && "mr-2")
60
+ }
61
+ ) : null,
62
+ isLoading && size === "icon" ? null : children
63
+ ]
64
+ }
65
+ );
66
+ }
67
+ );
68
+ Button.displayName = "Button";
69
+ var AlertDialog = AlertDialogPrimitive.Root;
70
+ var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
71
+ var AlertDialogPortal = AlertDialogPrimitive.Portal;
72
+ var AlertDialogOverlay = /* @__PURE__ */ __name(({
73
+ className,
74
+ children,
75
+ ref,
76
+ ...props
77
+ }) => /* @__PURE__ */ jsx(
78
+ AlertDialogPrimitive.Overlay,
79
+ {
80
+ className: cn(
81
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
82
+ "bg-bg-dark/90",
83
+ className
84
+ ),
85
+ ...props,
86
+ ref
87
+ }
88
+ ), "AlertDialogOverlay");
89
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
90
+ var AlertDialogContent = /* @__PURE__ */ __name(({
91
+ className,
92
+ ref,
93
+ ...props
94
+ }) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
95
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
96
+ /* @__PURE__ */ jsx(
97
+ AlertDialogPrimitive.Content,
98
+ {
99
+ className: cn(
100
+ "bg-bg-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 border-divider fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
101
+ className
102
+ ),
103
+ ref,
104
+ ...props
105
+ }
106
+ )
107
+ ] }), "AlertDialogContent");
108
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
109
+ var AlertDialogHeader = /* @__PURE__ */ __name(({
110
+ className,
111
+ ...props
112
+ }) => /* @__PURE__ */ jsx(
113
+ "div",
114
+ {
115
+ className: cn(
116
+ "flex flex-col space-y-2 text-center sm:text-left",
117
+ className
118
+ ),
119
+ ...props
120
+ }
121
+ ), "AlertDialogHeader");
122
+ AlertDialogHeader.displayName = "AlertDialogHeader";
123
+ var AlertDialogFooter = /* @__PURE__ */ __name(({
124
+ className,
125
+ ...props
126
+ }) => /* @__PURE__ */ jsx("div", { className: cn("flex", className), ...props }), "AlertDialogFooter");
127
+ AlertDialogFooter.displayName = "AlertDialogFooter";
128
+ var AlertDialogTitle = /* @__PURE__ */ __name(({
129
+ className,
130
+ ref,
131
+ ...props
132
+ }) => /* @__PURE__ */ jsx(
133
+ AlertDialogPrimitive.Title,
134
+ {
135
+ className: cn("text-lg font-semibold", className),
136
+ ref,
137
+ ...props
138
+ }
139
+ ), "AlertDialogTitle");
140
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
141
+ var AlertDialogDescription = /* @__PURE__ */ __name(({
142
+ className,
143
+ ref,
144
+ ...props
145
+ }) => /* @__PURE__ */ jsx(
146
+ AlertDialogPrimitive.Description,
147
+ {
148
+ className: cn("text-text-secondary text-sm", className),
149
+ ref,
150
+ ...props
151
+ }
152
+ ), "AlertDialogDescription");
153
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
154
+ var AlertDialogAction = /* @__PURE__ */ __name(({
155
+ className,
156
+ ref,
157
+ ...props
158
+ }) => /* @__PURE__ */ jsx(
159
+ AlertDialogPrimitive.Action,
160
+ {
161
+ className: cn(
162
+ buttonVariants({ variant: "default", size: "sm" }),
163
+ className
164
+ ),
165
+ ref,
166
+ ...props
167
+ }
168
+ ), "AlertDialogAction");
169
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
170
+ var AlertDialogCancel = /* @__PURE__ */ __name(({
171
+ className,
172
+ ref,
173
+ ...props
174
+ }) => /* @__PURE__ */ jsx(
175
+ AlertDialogPrimitive.Cancel,
176
+ {
177
+ className: cn(
178
+ buttonVariants({ variant: "outline", size: "sm" }),
179
+ className
180
+ ),
181
+ ref,
182
+ ...props
183
+ }
184
+ ), "AlertDialogCancel");
185
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
186
+
187
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
package/dist/alert.js ADDED
@@ -0,0 +1,68 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var clsx = require('clsx');
6
+ var tailwindMerge = require('tailwind-merge');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ function cn(...inputs) {
12
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
13
+ }
14
+ __name(cn, "cn");
15
+ var alertVariants = classVarianceAuthority.cva(
16
+ "[&>svg]:text-text-default relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg+div]:translate-y-[-3px] [&>svg~*]:pl-7",
17
+ {
18
+ variants: {
19
+ variant: {
20
+ default: "bg-bg-tertiary text-text-default",
21
+ info: "text-text-secondary [&>svg]:text-text-secondary bg-gray-250 border-gray-100 border-gray-200",
22
+ destructive: "border-[#4d0408] bg-[#2d0607] text-[#ff9ea1] [&>svg]:text-[#ff9ea1]",
23
+ warning: "border-yellow-800 bg-yellow-900 text-yellow-400 [&>svg]:text-yellow-400",
24
+ success: "border-green-800 bg-green-900 text-green-400 [&>svg]:text-green-400",
25
+ download: "border-gray-800 bg-gray-900 text-cyan-400 [&>svg]:text-cyan-400"
26
+ }
27
+ },
28
+ defaultVariants: {
29
+ variant: "default"
30
+ }
31
+ }
32
+ );
33
+ var Alert = /* @__PURE__ */ __name(({ className, variant, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
34
+ "div",
35
+ {
36
+ className: cn(alertVariants({ variant }), className),
37
+ ref,
38
+ role: "alert",
39
+ ...props
40
+ }
41
+ ), "Alert");
42
+ Alert.displayName = "Alert";
43
+ var AlertTitle = /* @__PURE__ */ __name(({ className, ref, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
44
+ "h5",
45
+ {
46
+ className: cn("mb-1 leading-none font-medium tracking-tight", className),
47
+ ref,
48
+ ...props
49
+ }
50
+ ), "AlertTitle");
51
+ AlertTitle.displayName = "AlertTitle";
52
+ var AlertDescription = /* @__PURE__ */ __name(({
53
+ className,
54
+ ref,
55
+ ...props
56
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
57
+ "div",
58
+ {
59
+ className: cn("text-sm [&_p]:leading-relaxed", className),
60
+ ref,
61
+ ...props
62
+ }
63
+ ), "AlertDescription");
64
+ AlertDescription.displayName = "AlertDescription";
65
+
66
+ exports.Alert = Alert;
67
+ exports.AlertDescription = AlertDescription;
68
+ exports.AlertTitle = AlertTitle;