@nuvia/components 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/README.md +96 -0
- package/dist/hooks/use-mobile.cjs +44 -0
- package/dist/hooks/use-mobile.cjs.map +1 -0
- package/dist/hooks/use-mobile.js +22 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-toast.cjs +146 -0
- package/dist/hooks/use-toast.cjs.map +1 -0
- package/dist/hooks/use-toast.js +122 -0
- package/dist/hooks/use-toast.js.map +1 -0
- package/dist/index.cjs +4117 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +3800 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/fonts.cjs +15 -0
- package/dist/lib/fonts.cjs.map +1 -0
- package/dist/lib/fonts.js +13 -0
- package/dist/lib/fonts.js.map +1 -0
- package/dist/lib/utils.cjs +18 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +14 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/providers/theme.cjs +24 -0
- package/dist/providers/theme.cjs.map +1 -0
- package/dist/providers/theme.js +22 -0
- package/dist/providers/theme.js.map +1 -0
- package/dist/ui/accordion.cjs +75 -0
- package/dist/ui/accordion.cjs.map +1 -0
- package/dist/ui/accordion.js +49 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.cjs +189 -0
- package/dist/ui/alert-dialog.cjs.map +1 -0
- package/dist/ui/alert-dialog.js +156 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.cjs +81 -0
- package/dist/ui/alert.cjs.map +1 -0
- package/dist/ui/alert.js +57 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.cjs +29 -0
- package/dist/ui/aspect-ratio.cjs.map +1 -0
- package/dist/ui/aspect-ratio.js +7 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/auto-complete.cjs +284 -0
- package/dist/ui/auto-complete.cjs.map +1 -0
- package/dist/ui/auto-complete.js +262 -0
- package/dist/ui/auto-complete.js.map +1 -0
- package/dist/ui/avatar.cjs +70 -0
- package/dist/ui/avatar.cjs.map +1 -0
- package/dist/ui/avatar.js +45 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.cjs +34 -0
- package/dist/ui/badge.cjs.map +1 -0
- package/dist/ui/badge.js +31 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.cjs +120 -0
- package/dist/ui/breadcrumb.cjs.map +1 -0
- package/dist/ui/breadcrumb.js +92 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.cjs +80 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.cjs +135 -0
- package/dist/ui/calendar.cjs.map +1 -0
- package/dist/ui/calendar.js +113 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/card.cjs +89 -0
- package/dist/ui/card.cjs.map +1 -0
- package/dist/ui/card.js +62 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.cjs +269 -0
- package/dist/ui/carousel.cjs.map +1 -0
- package/dist/ui/carousel.js +240 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/chart.cjs +267 -0
- package/dist/ui/chart.cjs.map +1 -0
- package/dist/ui/chart.js +239 -0
- package/dist/ui/chart.js.map +1 -0
- package/dist/ui/checkbox.cjs +55 -0
- package/dist/ui/checkbox.cjs.map +1 -0
- package/dist/ui/checkbox.js +32 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/chip.cjs +79 -0
- package/dist/ui/chip.cjs.map +1 -0
- package/dist/ui/chip.js +55 -0
- package/dist/ui/chip.js.map +1 -0
- package/dist/ui/collapsible.cjs +33 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js +9 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/combobox.cjs +254 -0
- package/dist/ui/combobox.cjs.map +1 -0
- package/dist/ui/combobox.js +232 -0
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/command.cjs +199 -0
- package/dist/ui/command.cjs.map +1 -0
- package/dist/ui/command.js +168 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/context-menu.cjs +181 -0
- package/dist/ui/context-menu.cjs.map +1 -0
- package/dist/ui/context-menu.js +144 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/dialog.cjs +132 -0
- package/dist/ui/dialog.cjs.map +1 -0
- package/dist/ui/dialog.js +100 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/drawer.cjs +128 -0
- package/dist/ui/drawer.cjs.map +1 -0
- package/dist/ui/drawer.js +97 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.cjs +194 -0
- package/dist/ui/dropdown-menu.cjs.map +1 -0
- package/dist/ui/dropdown-menu.js +157 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/form.cjs +179 -0
- package/dist/ui/form.cjs.map +1 -0
- package/dist/ui/form.js +149 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.cjs +53 -0
- package/dist/ui/hover-card.cjs.map +1 -0
- package/dist/ui/hover-card.js +28 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/input-otp.cjs +76 -0
- package/dist/ui/input-otp.cjs.map +1 -0
- package/dist/ui/input-otp.js +51 -0
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.cjs +51 -0
- package/dist/ui/input.cjs.map +1 -0
- package/dist/ui/input.js +29 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.cjs +55 -0
- package/dist/ui/label.cjs.map +1 -0
- package/dist/ui/label.js +32 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/lottie-animation.cjs +85 -0
- package/dist/ui/lottie-animation.cjs.map +1 -0
- package/dist/ui/lottie-animation.js +79 -0
- package/dist/ui/lottie-animation.js.map +1 -0
- package/dist/ui/menubar.cjs +210 -0
- package/dist/ui/menubar.cjs.map +1 -0
- package/dist/ui/menubar.js +172 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/multi-combobox.cjs +319 -0
- package/dist/ui/multi-combobox.cjs.map +1 -0
- package/dist/ui/multi-combobox.js +297 -0
- package/dist/ui/multi-combobox.js.map +1 -0
- package/dist/ui/navigation-menu.cjs +136 -0
- package/dist/ui/navigation-menu.cjs.map +1 -0
- package/dist/ui/navigation-menu.js +105 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/pagination.cjs +172 -0
- package/dist/ui/pagination.cjs.map +1 -0
- package/dist/ui/pagination.js +144 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.cjs +55 -0
- package/dist/ui/popover.cjs.map +1 -0
- package/dist/ui/popover.js +29 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.cjs +54 -0
- package/dist/ui/progress.cjs.map +1 -0
- package/dist/ui/progress.js +31 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio-group.cjs +62 -0
- package/dist/ui/radio-group.cjs.map +1 -0
- package/dist/ui/radio-group.js +38 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.cjs +65 -0
- package/dist/ui/resizable.cjs.map +1 -0
- package/dist/ui/resizable.js +41 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.cjs +66 -0
- package/dist/ui/scroll-area.cjs.map +1 -0
- package/dist/ui/scroll-area.js +42 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/select.cjs +152 -0
- package/dist/ui/select.cjs.map +1 -0
- package/dist/ui/select.js +120 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.cjs +52 -0
- package/dist/ui/separator.cjs.map +1 -0
- package/dist/ui/separator.js +29 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.cjs +143 -0
- package/dist/ui/sheet.cjs.map +1 -0
- package/dist/ui/sheet.js +111 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.cjs +816 -0
- package/dist/ui/sidebar.cjs.map +1 -0
- package/dist/ui/sidebar.js +768 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.cjs +25 -0
- package/dist/ui/skeleton.cjs.map +1 -0
- package/dist/ui/skeleton.js +23 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.cjs +51 -0
- package/dist/ui/slider.cjs.map +1 -0
- package/dist/ui/slider.js +28 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.cjs +46 -0
- package/dist/ui/sonner.cjs.map +1 -0
- package/dist/ui/sonner.js +41 -0
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/spinner.cjs +83 -0
- package/dist/ui/spinner.cjs.map +1 -0
- package/dist/ui/spinner.js +81 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/switch.cjs +67 -0
- package/dist/ui/switch.cjs.map +1 -0
- package/dist/ui/switch.js +44 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.cjs +118 -0
- package/dist/ui/table.cjs.map +1 -0
- package/dist/ui/table.js +89 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.cjs +79 -0
- package/dist/ui/tabs.cjs.map +1 -0
- package/dist/ui/tabs.js +53 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.cjs +48 -0
- package/dist/ui/textarea.cjs.map +1 -0
- package/dist/ui/textarea.js +26 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toast.cjs +125 -0
- package/dist/ui/toast.cjs.map +1 -0
- package/dist/ui/toast.js +96 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.cjs +251 -0
- package/dist/ui/toaster.cjs.map +1 -0
- package/dist/ui/toaster.js +228 -0
- package/dist/ui/toaster.js.map +1 -0
- package/dist/ui/toggle-group.cjs +101 -0
- package/dist/ui/toggle-group.cjs.map +1 -0
- package/dist/ui/toggle-group.js +76 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.cjs +66 -0
- package/dist/ui/toggle.cjs.map +1 -0
- package/dist/ui/toggle.js +42 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.cjs +54 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +28 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/package.json +116 -0
- package/src/styles/globals.css +529 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var clsx = require('clsx');
|
|
5
|
+
require('sonner');
|
|
6
|
+
var tailwindMerge = require('tailwind-merge');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
|
+
|
|
29
|
+
// src/ui/input.tsx
|
|
30
|
+
var cn = (...inputs) => tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
31
|
+
var Input = React__namespace.forwardRef(
|
|
32
|
+
({ className, type, ...props }, ref) => {
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
"input",
|
|
35
|
+
{
|
|
36
|
+
type,
|
|
37
|
+
className: cn(
|
|
38
|
+
"flex h-10 w-full rounded-xl border border-border bg-transparent px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm group-aria-[invalid=true]:border-danger-foreground aria-[invalid=true]:border-danger-foreground",
|
|
39
|
+
className
|
|
40
|
+
),
|
|
41
|
+
ref,
|
|
42
|
+
...props
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
Input.displayName = "Input";
|
|
48
|
+
|
|
49
|
+
exports.Input = Input;
|
|
50
|
+
//# sourceMappingURL=input.cjs.map
|
|
51
|
+
//# sourceMappingURL=input.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/input.tsx"],"names":["twMerge","clsx","React","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiCA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;ACD3E,IAAM,KAAA,GAAcC,gBAAA,CAAA,UAAA;AAAA,EAClB,CAAC,EAAE,SAAA,EAAW,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AACtC,IAAA,uBACEC,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,kcAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,GAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"input.cjs","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","import * as React from \"react\"\n\nimport { cn } from \"../lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-xl border border-border bg-transparent px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm group-aria-[invalid=true]:border-danger-foreground aria-[invalid=true]:border-danger-foreground\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"]}
|
package/dist/ui/input.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { clsx } from 'clsx';
|
|
3
|
+
import 'sonner';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
// src/ui/input.tsx
|
|
8
|
+
var cn = (...inputs) => twMerge(clsx(inputs));
|
|
9
|
+
var Input = React.forwardRef(
|
|
10
|
+
({ className, type, ...props }, ref) => {
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
"input",
|
|
13
|
+
{
|
|
14
|
+
type,
|
|
15
|
+
className: cn(
|
|
16
|
+
"flex h-10 w-full rounded-xl border border-border bg-transparent px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm group-aria-[invalid=true]:border-danger-foreground aria-[invalid=true]:border-danger-foreground",
|
|
17
|
+
className
|
|
18
|
+
),
|
|
19
|
+
ref,
|
|
20
|
+
...props
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
Input.displayName = "Input";
|
|
26
|
+
|
|
27
|
+
export { Input };
|
|
28
|
+
//# sourceMappingURL=input.js.map
|
|
29
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/input.tsx"],"names":[],"mappings":";;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiC,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;ACD3E,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA;AAAA,EAClB,CAAC,EAAE,SAAA,EAAW,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AACtC,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,kcAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,GAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"input.js","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","import * as React from \"react\"\n\nimport { cn } from \"../lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-xl border border-border bg-transparent px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm group-aria-[invalid=true]:border-danger-foreground aria-[invalid=true]:border-danger-foreground\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var LabelPrimitive = require('@radix-ui/react-label');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
require('sonner');
|
|
8
|
+
var tailwindMerge = require('tailwind-merge');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
|
+
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
31
|
+
|
|
32
|
+
var cn = (...inputs) => tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
|
+
var labelVariants = classVarianceAuthority.cva(
|
|
34
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
35
|
+
{
|
|
36
|
+
variants: {
|
|
37
|
+
required: {
|
|
38
|
+
true: "after:content-['*'] after:text-destructive after:ml-1"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
var Label = React__namespace.forwardRef(({ className, required, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
44
|
+
LabelPrimitive__namespace.Root,
|
|
45
|
+
{
|
|
46
|
+
ref,
|
|
47
|
+
className: cn(labelVariants({ required }), className),
|
|
48
|
+
...props
|
|
49
|
+
}
|
|
50
|
+
));
|
|
51
|
+
Label.displayName = LabelPrimitive__namespace.Root.displayName;
|
|
52
|
+
|
|
53
|
+
exports.Label = Label;
|
|
54
|
+
//# sourceMappingURL=label.cjs.map
|
|
55
|
+
//# sourceMappingURL=label.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/label.tsx"],"names":["twMerge","clsx","cva","React","jsx","LabelPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiCA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;ACG3E,IAAM,aAAA,GAAgBC,0BAAA;AAAA,EACpB,4FAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,IAAA,EAAM;AAAA;AACR;AACF;AAEJ,CAAA;AAEA,IAAM,KAAA,GAAcC,4BAIlB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpCC,cAAA;AAAA,EAAgBC,yBAAA,CAAA,IAAA;AAAA,EAAf;AAAA,IACC,GAAA;AAAA,IACA,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,IACnD,GAAG;AAAA;AACN,CACD;AACD,KAAA,CAAM,cAA6BA,yBAAA,CAAA,IAAA,CAAK,WAAA","file":"label.cjs","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n {\n variants: {\n required: {\n true: \"after:content-['*'] after:text-destructive after:ml-1\",\n },\n },\n }\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, required, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants({ required }), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"]}
|
package/dist/ui/label.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { clsx } from 'clsx';
|
|
5
|
+
import 'sonner';
|
|
6
|
+
import { twMerge } from 'tailwind-merge';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var cn = (...inputs) => twMerge(clsx(inputs));
|
|
10
|
+
var labelVariants = cva(
|
|
11
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
12
|
+
{
|
|
13
|
+
variants: {
|
|
14
|
+
required: {
|
|
15
|
+
true: "after:content-['*'] after:text-destructive after:ml-1"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
var Label = React.forwardRef(({ className, required, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
21
|
+
LabelPrimitive.Root,
|
|
22
|
+
{
|
|
23
|
+
ref,
|
|
24
|
+
className: cn(labelVariants({ required }), className),
|
|
25
|
+
...props
|
|
26
|
+
}
|
|
27
|
+
));
|
|
28
|
+
Label.displayName = LabelPrimitive.Root.displayName;
|
|
29
|
+
|
|
30
|
+
export { Label };
|
|
31
|
+
//# sourceMappingURL=label.js.map
|
|
32
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/label.tsx"],"names":[],"mappings":";;;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiC,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;ACG3E,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,4FAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,IAAA,EAAM;AAAA;AACR;AACF;AAEJ,CAAA;AAEA,IAAM,KAAA,GAAc,iBAIlB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,GAAA;AAAA,EAAgB,cAAA,CAAA,IAAA;AAAA,EAAf;AAAA,IACC,GAAA;AAAA,IACA,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,IACnD,GAAG;AAAA;AACN,CACD;AACD,KAAA,CAAM,cAA6B,cAAA,CAAA,IAAA,CAAK,WAAA","file":"label.js","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n {\n variants: {\n required: {\n true: \"after:content-['*'] after:text-destructive after:ml-1\",\n },\n },\n }\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, required, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants({ required }), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Lottie = require('lottie-react');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var Lottie__default = /*#__PURE__*/_interopDefault(Lottie);
|
|
10
|
+
|
|
11
|
+
var LottieAnimation = react.forwardRef(
|
|
12
|
+
({
|
|
13
|
+
animationPath,
|
|
14
|
+
size = 24,
|
|
15
|
+
className = "",
|
|
16
|
+
loop = true,
|
|
17
|
+
autoplay = true,
|
|
18
|
+
speed = 1,
|
|
19
|
+
...props
|
|
20
|
+
}, ref) => {
|
|
21
|
+
const [animationData, setAnimationData] = react.useState(null);
|
|
22
|
+
const [isLoading, setIsLoading] = react.useState(true);
|
|
23
|
+
react.useEffect(() => {
|
|
24
|
+
const loadAnimation = async () => {
|
|
25
|
+
try {
|
|
26
|
+
const response = await fetch(`/${animationPath}`);
|
|
27
|
+
const data = await response.json();
|
|
28
|
+
setAnimationData(data);
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error("Failed to load Lottie animation:", error);
|
|
31
|
+
} finally {
|
|
32
|
+
setIsLoading(false);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
loadAnimation();
|
|
36
|
+
}, [animationPath]);
|
|
37
|
+
if (isLoading || !animationData) {
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
ref,
|
|
42
|
+
className: `inline-flex items-center justify-center ${className}`,
|
|
43
|
+
style: {
|
|
44
|
+
width: size,
|
|
45
|
+
height: size,
|
|
46
|
+
minWidth: size,
|
|
47
|
+
minHeight: size
|
|
48
|
+
},
|
|
49
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "animate-pulse bg-muted rounded-full w-full h-full" })
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
"div",
|
|
55
|
+
{
|
|
56
|
+
ref,
|
|
57
|
+
className: `inline-flex items-center justify-center ${className}`,
|
|
58
|
+
style: {
|
|
59
|
+
width: size,
|
|
60
|
+
height: size,
|
|
61
|
+
minWidth: size,
|
|
62
|
+
minHeight: size
|
|
63
|
+
},
|
|
64
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
65
|
+
Lottie__default.default,
|
|
66
|
+
{
|
|
67
|
+
animationData,
|
|
68
|
+
loop,
|
|
69
|
+
autoplay,
|
|
70
|
+
style: {
|
|
71
|
+
width: "100%",
|
|
72
|
+
height: "100%"
|
|
73
|
+
},
|
|
74
|
+
...props
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
LottieAnimation.displayName = "LottieAnimation";
|
|
82
|
+
|
|
83
|
+
exports.LottieAnimation = LottieAnimation;
|
|
84
|
+
//# sourceMappingURL=lottie-animation.cjs.map
|
|
85
|
+
//# sourceMappingURL=lottie-animation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/lottie-animation.tsx"],"names":["forwardRef","useState","useEffect","jsx","Lottie"],"mappings":";;;;;;;;;;AA4CA,IAAM,eAAA,GAAkBA,gBAAA;AAAA,EACtB,CAAC;AAAA,IACC,aAAA;AAAA,IACA,IAAA,GAAO,EAAA;AAAA,IACP,SAAA,GAAY,EAAA;AAAA,IACZ,IAAA,GAAO,IAAA;AAAA,IACP,QAAA,GAAW,IAAA;AAAA,IACX,KAAA,GAAQ,CAAA;AAAA,IACR,GAAG;AAAA,KACF,GAAA,KAAQ;AACT,IAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,eAAc,IAAI,CAAA;AAC5D,IAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,IAAI,CAAA;AAE/C,IAAAC,eAAA,CAAU,MAAM;AACd,MAAA,MAAM,gBAAgB,YAAY;AAChC,QAAA,IAAI;AACF,UAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAA;AAChD,UAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,UAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,QACvB,SAAS,KAAA,EAAO;AACd,UAAA,OAAA,CAAQ,KAAA,CAAM,oCAAoC,KAAK,CAAA;AAAA,QACzD,CAAA,SAAE;AACA,UAAA,YAAA,CAAa,KAAK,CAAA;AAAA,QACpB;AAAA,MACF,CAAA;AAEA,MAAA,aAAA,EAAc;AAAA,IAChB,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,IAAA,IAAI,SAAA,IAAa,CAAC,aAAA,EAAe;AAC/B,MAAA,uBACEC,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAA,EAAW,2CAA2C,SAAS,CAAA,CAAA;AAAA,UAC/D,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,IAAA;AAAA,YACP,MAAA,EAAQ,IAAA;AAAA,YACR,QAAA,EAAU,IAAA;AAAA,YACV,SAAA,EAAW;AAAA,WACb;AAAA,UAGA,QAAA,kBAAAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mDAAA,EAAoD;AAAA;AAAA,OACrE;AAAA,IAEJ;AAEA,IAAA,uBACEA,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,2CAA2C,SAAS,CAAA,CAAA;AAAA,QAC/D,KAAA,EAAO;AAAA,UACL,KAAA,EAAO,IAAA;AAAA,UACP,MAAA,EAAQ,IAAA;AAAA,UACR,QAAA,EAAU,IAAA;AAAA,UACV,SAAA,EAAW;AAAA,SACb;AAAA,QAEA,QAAA,kBAAAA,cAAA;AAAA,UAACC,uBAAA;AAAA,UAAA;AAAA,YACC,aAAA;AAAA,YACA,IAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACL,KAAA,EAAO,MAAA;AAAA,cACP,MAAA,EAAQ;AAAA,aACV;AAAA,YACC,GAAG;AAAA;AAAA;AACN;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA","file":"lottie-animation.cjs","sourcesContent":["'use client';\n\nimport Lottie from 'lottie-react';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { LottieComponentProps } from 'lottie-react';\n\ninterface LottieAnimationProps extends Omit<LottieComponentProps, 'animationData'> {\n /**\n * Path to the Lottie animation JSON file\n */\n animationPath: string;\n /**\n * Size of the animation (width and height)\n */\n size?: number;\n /**\n * Additional CSS classes\n */\n className?: string;\n /**\n * Whether the animation should loop\n */\n loop?: boolean;\n /**\n * Whether the animation should autoplay\n */\n autoplay?: boolean;\n /**\n * Animation speed\n */\n speed?: number;\n}\n\n/**\n * LottieAnimation component for displaying Lottie animations\n * \n * @param animationPath - Path to the Lottie animation JSON file\n * @param size - Size of the animation container (default: 24)\n * @param className - Additional CSS classes\n * @param loop - Whether the animation should loop (default: true)\n * @param autoplay - Whether the animation should autoplay (default: true)\n * @param speed - Animation speed (default: 1)\n * @param props - Additional Lottie component props\n */\nconst LottieAnimation = forwardRef<HTMLDivElement, LottieAnimationProps>(\n ({ \n animationPath, \n size = 24, \n className = '', \n loop = true, \n autoplay = true, \n speed = 1,\n ...props \n }, ref) => {\n const [animationData, setAnimationData] = useState<any>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const loadAnimation = async () => {\n try {\n const response = await fetch(`/${animationPath}`);\n const data = await response.json();\n setAnimationData(data);\n } catch (error) {\n console.error('Failed to load Lottie animation:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n loadAnimation();\n }, [animationPath]);\n\n if (isLoading || !animationData) {\n return (\n <div\n ref={ref}\n className={`inline-flex items-center justify-center ${className}`}\n style={{\n width: size,\n height: size,\n minWidth: size,\n minHeight: size,\n }}\n >\n {/* Simple loading placeholder */}\n <div className=\"animate-pulse bg-muted rounded-full w-full h-full\" />\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={`inline-flex items-center justify-center ${className}`}\n style={{\n width: size,\n height: size,\n minWidth: size,\n minHeight: size,\n }}\n >\n <Lottie\n animationData={animationData}\n loop={loop}\n autoplay={autoplay}\n style={{\n width: '100%',\n height: '100%',\n }}\n {...props}\n />\n </div>\n );\n }\n);\n\nLottieAnimation.displayName = 'LottieAnimation';\n\nexport { LottieAnimation };\nexport type { LottieAnimationProps }; "]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import Lottie from 'lottie-react';
|
|
2
|
+
import { forwardRef, useState, useEffect } from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var LottieAnimation = forwardRef(
|
|
6
|
+
({
|
|
7
|
+
animationPath,
|
|
8
|
+
size = 24,
|
|
9
|
+
className = "",
|
|
10
|
+
loop = true,
|
|
11
|
+
autoplay = true,
|
|
12
|
+
speed = 1,
|
|
13
|
+
...props
|
|
14
|
+
}, ref) => {
|
|
15
|
+
const [animationData, setAnimationData] = useState(null);
|
|
16
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const loadAnimation = async () => {
|
|
19
|
+
try {
|
|
20
|
+
const response = await fetch(`/${animationPath}`);
|
|
21
|
+
const data = await response.json();
|
|
22
|
+
setAnimationData(data);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error("Failed to load Lottie animation:", error);
|
|
25
|
+
} finally {
|
|
26
|
+
setIsLoading(false);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
loadAnimation();
|
|
30
|
+
}, [animationPath]);
|
|
31
|
+
if (isLoading || !animationData) {
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
ref,
|
|
36
|
+
className: `inline-flex items-center justify-center ${className}`,
|
|
37
|
+
style: {
|
|
38
|
+
width: size,
|
|
39
|
+
height: size,
|
|
40
|
+
minWidth: size,
|
|
41
|
+
minHeight: size
|
|
42
|
+
},
|
|
43
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse bg-muted rounded-full w-full h-full" })
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
return /* @__PURE__ */ jsx(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
ref,
|
|
51
|
+
className: `inline-flex items-center justify-center ${className}`,
|
|
52
|
+
style: {
|
|
53
|
+
width: size,
|
|
54
|
+
height: size,
|
|
55
|
+
minWidth: size,
|
|
56
|
+
minHeight: size
|
|
57
|
+
},
|
|
58
|
+
children: /* @__PURE__ */ jsx(
|
|
59
|
+
Lottie,
|
|
60
|
+
{
|
|
61
|
+
animationData,
|
|
62
|
+
loop,
|
|
63
|
+
autoplay,
|
|
64
|
+
style: {
|
|
65
|
+
width: "100%",
|
|
66
|
+
height: "100%"
|
|
67
|
+
},
|
|
68
|
+
...props
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
LottieAnimation.displayName = "LottieAnimation";
|
|
76
|
+
|
|
77
|
+
export { LottieAnimation };
|
|
78
|
+
//# sourceMappingURL=lottie-animation.js.map
|
|
79
|
+
//# sourceMappingURL=lottie-animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/lottie-animation.tsx"],"names":[],"mappings":";;;;AA4CA,IAAM,eAAA,GAAkB,UAAA;AAAA,EACtB,CAAC;AAAA,IACC,aAAA;AAAA,IACA,IAAA,GAAO,EAAA;AAAA,IACP,SAAA,GAAY,EAAA;AAAA,IACZ,IAAA,GAAO,IAAA;AAAA,IACP,QAAA,GAAW,IAAA;AAAA,IACX,KAAA,GAAQ,CAAA;AAAA,IACR,GAAG;AAAA,KACF,GAAA,KAAQ;AACT,IAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAc,IAAI,CAAA;AAC5D,IAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,IAAI,CAAA;AAE/C,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAM,gBAAgB,YAAY;AAChC,QAAA,IAAI;AACF,UAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAA;AAChD,UAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,UAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,QACvB,SAAS,KAAA,EAAO;AACd,UAAA,OAAA,CAAQ,KAAA,CAAM,oCAAoC,KAAK,CAAA;AAAA,QACzD,CAAA,SAAE;AACA,UAAA,YAAA,CAAa,KAAK,CAAA;AAAA,QACpB;AAAA,MACF,CAAA;AAEA,MAAA,aAAA,EAAc;AAAA,IAChB,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,IAAA,IAAI,SAAA,IAAa,CAAC,aAAA,EAAe;AAC/B,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAA,EAAW,2CAA2C,SAAS,CAAA,CAAA;AAAA,UAC/D,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,IAAA;AAAA,YACP,MAAA,EAAQ,IAAA;AAAA,YACR,QAAA,EAAU,IAAA;AAAA,YACV,SAAA,EAAW;AAAA,WACb;AAAA,UAGA,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mDAAA,EAAoD;AAAA;AAAA,OACrE;AAAA,IAEJ;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,2CAA2C,SAAS,CAAA,CAAA;AAAA,QAC/D,KAAA,EAAO;AAAA,UACL,KAAA,EAAO,IAAA;AAAA,UACP,MAAA,EAAQ,IAAA;AAAA,UACR,QAAA,EAAU,IAAA;AAAA,UACV,SAAA,EAAW;AAAA,SACb;AAAA,QAEA,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA;AAAA,YACA,IAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACL,KAAA,EAAO,MAAA;AAAA,cACP,MAAA,EAAQ;AAAA,aACV;AAAA,YACC,GAAG;AAAA;AAAA;AACN;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA","file":"lottie-animation.js","sourcesContent":["'use client';\n\nimport Lottie from 'lottie-react';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { LottieComponentProps } from 'lottie-react';\n\ninterface LottieAnimationProps extends Omit<LottieComponentProps, 'animationData'> {\n /**\n * Path to the Lottie animation JSON file\n */\n animationPath: string;\n /**\n * Size of the animation (width and height)\n */\n size?: number;\n /**\n * Additional CSS classes\n */\n className?: string;\n /**\n * Whether the animation should loop\n */\n loop?: boolean;\n /**\n * Whether the animation should autoplay\n */\n autoplay?: boolean;\n /**\n * Animation speed\n */\n speed?: number;\n}\n\n/**\n * LottieAnimation component for displaying Lottie animations\n * \n * @param animationPath - Path to the Lottie animation JSON file\n * @param size - Size of the animation container (default: 24)\n * @param className - Additional CSS classes\n * @param loop - Whether the animation should loop (default: true)\n * @param autoplay - Whether the animation should autoplay (default: true)\n * @param speed - Animation speed (default: 1)\n * @param props - Additional Lottie component props\n */\nconst LottieAnimation = forwardRef<HTMLDivElement, LottieAnimationProps>(\n ({ \n animationPath, \n size = 24, \n className = '', \n loop = true, \n autoplay = true, \n speed = 1,\n ...props \n }, ref) => {\n const [animationData, setAnimationData] = useState<any>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const loadAnimation = async () => {\n try {\n const response = await fetch(`/${animationPath}`);\n const data = await response.json();\n setAnimationData(data);\n } catch (error) {\n console.error('Failed to load Lottie animation:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n loadAnimation();\n }, [animationPath]);\n\n if (isLoading || !animationData) {\n return (\n <div\n ref={ref}\n className={`inline-flex items-center justify-center ${className}`}\n style={{\n width: size,\n height: size,\n minWidth: size,\n minHeight: size,\n }}\n >\n {/* Simple loading placeholder */}\n <div className=\"animate-pulse bg-muted rounded-full w-full h-full\" />\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={`inline-flex items-center justify-center ${className}`}\n style={{\n width: size,\n height: size,\n minWidth: size,\n minHeight: size,\n }}\n >\n <Lottie\n animationData={animationData}\n loop={loop}\n autoplay={autoplay}\n style={{\n width: '100%',\n height: '100%',\n }}\n {...props}\n />\n </div>\n );\n }\n);\n\nLottieAnimation.displayName = 'LottieAnimation';\n\nexport { LottieAnimation };\nexport type { LottieAnimationProps }; "]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var MenubarPrimitive = require('@radix-ui/react-menubar');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
require('sonner');
|
|
7
|
+
var tailwindMerge = require('tailwind-merge');
|
|
8
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
|
+
var MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespace(MenubarPrimitive);
|
|
31
|
+
|
|
32
|
+
var cn = (...inputs) => tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
|
+
var MenubarMenu = MenubarPrimitive__namespace.Menu;
|
|
34
|
+
var MenubarGroup = MenubarPrimitive__namespace.Group;
|
|
35
|
+
var MenubarPortal = MenubarPrimitive__namespace.Portal;
|
|
36
|
+
var MenubarSub = MenubarPrimitive__namespace.Sub;
|
|
37
|
+
var MenubarRadioGroup = MenubarPrimitive__namespace.RadioGroup;
|
|
38
|
+
var Menubar = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
MenubarPrimitive__namespace.Root,
|
|
40
|
+
{
|
|
41
|
+
ref,
|
|
42
|
+
className: cn(
|
|
43
|
+
"flex h-9 items-center space-x-1 rounded-xl border bg-background p-1 shadow-sm",
|
|
44
|
+
className
|
|
45
|
+
),
|
|
46
|
+
...props
|
|
47
|
+
}
|
|
48
|
+
));
|
|
49
|
+
Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
|
|
50
|
+
var MenubarTrigger = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
51
|
+
MenubarPrimitive__namespace.Trigger,
|
|
52
|
+
{
|
|
53
|
+
ref,
|
|
54
|
+
className: cn(
|
|
55
|
+
"flex cursor-default select-none items-center rounded-lg px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
56
|
+
className
|
|
57
|
+
),
|
|
58
|
+
...props
|
|
59
|
+
}
|
|
60
|
+
));
|
|
61
|
+
MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
|
|
62
|
+
var MenubarSubTrigger = React__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
63
|
+
MenubarPrimitive__namespace.SubTrigger,
|
|
64
|
+
{
|
|
65
|
+
ref,
|
|
66
|
+
className: cn(
|
|
67
|
+
"flex cursor-default select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
68
|
+
inset && "pl-8",
|
|
69
|
+
className
|
|
70
|
+
),
|
|
71
|
+
...props,
|
|
72
|
+
children: [
|
|
73
|
+
children,
|
|
74
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
));
|
|
78
|
+
MenubarSubTrigger.displayName = MenubarPrimitive__namespace.SubTrigger.displayName;
|
|
79
|
+
var MenubarSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
+
MenubarPrimitive__namespace.SubContent,
|
|
81
|
+
{
|
|
82
|
+
ref,
|
|
83
|
+
className: cn(
|
|
84
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
85
|
+
className
|
|
86
|
+
),
|
|
87
|
+
...props
|
|
88
|
+
}
|
|
89
|
+
));
|
|
90
|
+
MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
|
|
91
|
+
var MenubarContent = React__namespace.forwardRef(
|
|
92
|
+
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
+
MenubarPrimitive__namespace.Content,
|
|
94
|
+
{
|
|
95
|
+
ref,
|
|
96
|
+
align,
|
|
97
|
+
alignOffset,
|
|
98
|
+
sideOffset,
|
|
99
|
+
className: cn(
|
|
100
|
+
"z-50 min-w-[12rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
101
|
+
className
|
|
102
|
+
),
|
|
103
|
+
...props
|
|
104
|
+
}
|
|
105
|
+
) })
|
|
106
|
+
);
|
|
107
|
+
MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
|
|
108
|
+
var MenubarItem = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
MenubarPrimitive__namespace.Item,
|
|
110
|
+
{
|
|
111
|
+
ref,
|
|
112
|
+
className: cn(
|
|
113
|
+
"relative flex cursor-default select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
114
|
+
inset && "pl-8",
|
|
115
|
+
className
|
|
116
|
+
),
|
|
117
|
+
...props
|
|
118
|
+
}
|
|
119
|
+
));
|
|
120
|
+
MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
|
|
121
|
+
var MenubarCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
122
|
+
MenubarPrimitive__namespace.CheckboxItem,
|
|
123
|
+
{
|
|
124
|
+
ref,
|
|
125
|
+
className: cn(
|
|
126
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
127
|
+
className
|
|
128
|
+
),
|
|
129
|
+
checked,
|
|
130
|
+
...props,
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
133
|
+
children
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
));
|
|
137
|
+
MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
|
|
138
|
+
var MenubarRadioItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
139
|
+
MenubarPrimitive__namespace.RadioItem,
|
|
140
|
+
{
|
|
141
|
+
ref,
|
|
142
|
+
className: cn(
|
|
143
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
144
|
+
className
|
|
145
|
+
),
|
|
146
|
+
...props,
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
149
|
+
children
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
));
|
|
153
|
+
MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
|
|
154
|
+
var MenubarLabel = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
155
|
+
MenubarPrimitive__namespace.Label,
|
|
156
|
+
{
|
|
157
|
+
ref,
|
|
158
|
+
className: cn(
|
|
159
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
160
|
+
inset && "pl-8",
|
|
161
|
+
className
|
|
162
|
+
),
|
|
163
|
+
...props
|
|
164
|
+
}
|
|
165
|
+
));
|
|
166
|
+
MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
|
|
167
|
+
var MenubarSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
+
MenubarPrimitive__namespace.Separator,
|
|
169
|
+
{
|
|
170
|
+
ref,
|
|
171
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
172
|
+
...props
|
|
173
|
+
}
|
|
174
|
+
));
|
|
175
|
+
MenubarSeparator.displayName = MenubarPrimitive__namespace.Separator.displayName;
|
|
176
|
+
var MenubarShortcut = ({
|
|
177
|
+
className,
|
|
178
|
+
...props
|
|
179
|
+
}) => {
|
|
180
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
"span",
|
|
182
|
+
{
|
|
183
|
+
className: cn(
|
|
184
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
185
|
+
className
|
|
186
|
+
),
|
|
187
|
+
...props
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
};
|
|
191
|
+
MenubarShortcut.displayname = "MenubarShortcut";
|
|
192
|
+
|
|
193
|
+
exports.Menubar = Menubar;
|
|
194
|
+
exports.MenubarCheckboxItem = MenubarCheckboxItem;
|
|
195
|
+
exports.MenubarContent = MenubarContent;
|
|
196
|
+
exports.MenubarGroup = MenubarGroup;
|
|
197
|
+
exports.MenubarItem = MenubarItem;
|
|
198
|
+
exports.MenubarLabel = MenubarLabel;
|
|
199
|
+
exports.MenubarMenu = MenubarMenu;
|
|
200
|
+
exports.MenubarPortal = MenubarPortal;
|
|
201
|
+
exports.MenubarRadioGroup = MenubarRadioGroup;
|
|
202
|
+
exports.MenubarRadioItem = MenubarRadioItem;
|
|
203
|
+
exports.MenubarSeparator = MenubarSeparator;
|
|
204
|
+
exports.MenubarShortcut = MenubarShortcut;
|
|
205
|
+
exports.MenubarSub = MenubarSub;
|
|
206
|
+
exports.MenubarSubContent = MenubarSubContent;
|
|
207
|
+
exports.MenubarSubTrigger = MenubarSubTrigger;
|
|
208
|
+
exports.MenubarTrigger = MenubarTrigger;
|
|
209
|
+
//# sourceMappingURL=menubar.cjs.map
|
|
210
|
+
//# sourceMappingURL=menubar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/menubar.tsx"],"names":["twMerge","clsx","MenubarPrimitive","React","jsx","jsxs","ChevronRightIcon","CheckIcon","DotFilledIcon"],"mappings":"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","file":"menubar.cjs","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport * as ReactContext from \"@radix-ui/react-context\";\nimport { cn } from \"../lib/utils\"\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\"\n\nconst MenubarMenu = MenubarPrimitive.Menu\n\nconst MenubarGroup = MenubarPrimitive.Group\n\nconst MenubarPortal = MenubarPrimitive.Portal\n\nconst MenubarSub = MenubarPrimitive.Sub\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-9 items-center space-x-1 rounded-xl border bg-background p-1 shadow-sm\",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-lg px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayname = \"MenubarShortcut\"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n"]}
|