@saasflare/ui 1.1.2 → 3.0.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.
Files changed (44) hide show
  1. package/README.md +51 -30
  2. package/dist/{button-B2DR7obe.d.mts → button-DUQJ0X7e.d.mts} +0 -23
  3. package/dist/{button-B2DR7obe.d.ts → button-DUQJ0X7e.d.ts} +0 -23
  4. package/dist/chunk-7UGPCRZ6.mjs +130 -0
  5. package/dist/chunk-CWW36RYE.js +59 -0
  6. package/dist/chunk-JOVJRQO3.js +0 -1
  7. package/dist/{chunk-O3CFRMDK.js → chunk-OYH6LQWR.js} +33 -65
  8. package/dist/{chunk-QEKYM3BT.mjs → chunk-QWLQV6FS.mjs} +3 -25
  9. package/dist/chunk-S26666D6.mjs +0 -1
  10. package/dist/chunk-VQQ6MF5I.js +161 -0
  11. package/dist/chunk-W53NTFPB.mjs +28 -0
  12. package/dist/dialog-CwyBJeNl.d.mts +22 -0
  13. package/dist/dialog-CwyBJeNl.d.ts +22 -0
  14. package/dist/entries/calendar.d.mts +13 -0
  15. package/dist/entries/calendar.d.ts +13 -0
  16. package/dist/entries/calendar.js +211 -0
  17. package/dist/entries/calendar.mjs +188 -0
  18. package/dist/entries/carousel.d.mts +1 -1
  19. package/dist/entries/carousel.d.ts +1 -1
  20. package/dist/entries/carousel.js +5 -3
  21. package/dist/entries/carousel.mjs +3 -1
  22. package/dist/entries/chart.js +1 -0
  23. package/dist/entries/chart.mjs +1 -0
  24. package/dist/entries/command.d.mts +21 -0
  25. package/dist/entries/command.d.ts +21 -0
  26. package/dist/entries/command.js +172 -0
  27. package/dist/entries/command.mjs +162 -0
  28. package/dist/entries/drawer.d.mts +16 -0
  29. package/dist/entries/drawer.d.ts +16 -0
  30. package/dist/entries/drawer.js +124 -0
  31. package/dist/entries/drawer.mjs +113 -0
  32. package/dist/entries/input-otp.d.mts +14 -0
  33. package/dist/entries/input-otp.d.ts +14 -0
  34. package/dist/entries/input-otp.js +89 -0
  35. package/dist/entries/input-otp.mjs +64 -0
  36. package/dist/entries/resizable.d.mts +10 -0
  37. package/dist/entries/resizable.d.ts +10 -0
  38. package/dist/entries/resizable.js +69 -0
  39. package/dist/entries/resizable.mjs +45 -0
  40. package/dist/index.d.mts +12 -103
  41. package/dist/index.d.ts +12 -103
  42. package/dist/index.js +1265 -832
  43. package/dist/index.mjs +1172 -740
  44. package/package.json +66 -21
@@ -0,0 +1,113 @@
1
+ "use client";
2
+ import { cn } from '../chunk-S26666D6.mjs';
3
+ import { Drawer as Drawer$1 } from 'vaul';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function Drawer({
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
10
+ }
11
+ function DrawerTrigger({
12
+ ...props
13
+ }) {
14
+ return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
15
+ }
16
+ function DrawerPortal({
17
+ ...props
18
+ }) {
19
+ return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
20
+ }
21
+ function DrawerClose({
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
25
+ }
26
+ function DrawerOverlay({
27
+ className,
28
+ ...props
29
+ }) {
30
+ return /* @__PURE__ */ jsx(
31
+ Drawer$1.Overlay,
32
+ {
33
+ "data-slot": "drawer-overlay",
34
+ className: cn(
35
+ "fixed inset-0 z-50 bg-black/50 backdrop-blur-[2px]",
36
+ className
37
+ ),
38
+ ...props
39
+ }
40
+ );
41
+ }
42
+ function DrawerContent({
43
+ className,
44
+ children,
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
48
+ /* @__PURE__ */ jsx(DrawerOverlay, {}),
49
+ /* @__PURE__ */ jsxs(
50
+ Drawer$1.Content,
51
+ {
52
+ "data-slot": "drawer-content",
53
+ className: cn(
54
+ "group/drawer-content fixed inset-x-0 bottom-0 z-50 mt-24 flex max-h-[96dvh] flex-col rounded-t-lg border-t bg-background",
55
+ className
56
+ ),
57
+ ...props,
58
+ children: [
59
+ /* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-1.5 w-12 shrink-0 rounded-full bg-muted" }),
60
+ children
61
+ ]
62
+ }
63
+ )
64
+ ] });
65
+ }
66
+ function DrawerHeader({ className, ...props }) {
67
+ return /* @__PURE__ */ jsx(
68
+ "div",
69
+ {
70
+ "data-slot": "drawer-header",
71
+ className: cn("flex flex-col gap-1.5 p-4", className),
72
+ ...props
73
+ }
74
+ );
75
+ }
76
+ function DrawerFooter({ className, ...props }) {
77
+ return /* @__PURE__ */ jsx(
78
+ "div",
79
+ {
80
+ "data-slot": "drawer-footer",
81
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
82
+ ...props
83
+ }
84
+ );
85
+ }
86
+ function DrawerTitle({
87
+ className,
88
+ ...props
89
+ }) {
90
+ return /* @__PURE__ */ jsx(
91
+ Drawer$1.Title,
92
+ {
93
+ "data-slot": "drawer-title",
94
+ className: cn("text-lg leading-none font-semibold", className),
95
+ ...props
96
+ }
97
+ );
98
+ }
99
+ function DrawerDescription({
100
+ className,
101
+ ...props
102
+ }) {
103
+ return /* @__PURE__ */ jsx(
104
+ Drawer$1.Description,
105
+ {
106
+ "data-slot": "drawer-description",
107
+ className: cn("text-sm text-muted-foreground", className),
108
+ ...props
109
+ }
110
+ );
111
+ }
112
+
113
+ export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -0,0 +1,14 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { OTPInput } from 'input-otp';
4
+
5
+ declare function InputOTP({ className, containerClassName, ...props }: React.ComponentProps<typeof OTPInput> & {
6
+ containerClassName?: string;
7
+ }): react_jsx_runtime.JSX.Element;
8
+ declare function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
9
+ declare function InputOTPSlot({ index, className, ...props }: React.ComponentProps<"div"> & {
10
+ index: number;
11
+ }): react_jsx_runtime.JSX.Element;
12
+ declare function InputOTPSeparator({ ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
13
+
14
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
@@ -0,0 +1,14 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { OTPInput } from 'input-otp';
4
+
5
+ declare function InputOTP({ className, containerClassName, ...props }: React.ComponentProps<typeof OTPInput> & {
6
+ containerClassName?: string;
7
+ }): react_jsx_runtime.JSX.Element;
8
+ declare function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
9
+ declare function InputOTPSlot({ index, className, ...props }: React.ComponentProps<"div"> & {
10
+ index: number;
11
+ }): react_jsx_runtime.JSX.Element;
12
+ declare function InputOTPSeparator({ ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
13
+
14
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
@@ -0,0 +1,89 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkJOVJRQO3_js = require('../chunk-JOVJRQO3.js');
5
+ var React = require('react');
6
+ var inputOtp = require('input-otp');
7
+ var lucideReact = require('lucide-react');
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 React__namespace = /*#__PURE__*/_interopNamespace(React);
29
+
30
+ function InputOTP({
31
+ className,
32
+ containerClassName,
33
+ ...props
34
+ }) {
35
+ return /* @__PURE__ */ jsxRuntime.jsx(
36
+ inputOtp.OTPInput,
37
+ {
38
+ "data-slot": "input-otp",
39
+ containerClassName: chunkJOVJRQO3_js.cn(
40
+ "flex items-center gap-2 has-disabled:opacity-50",
41
+ containerClassName
42
+ ),
43
+ className: chunkJOVJRQO3_js.cn("disabled:cursor-not-allowed", className),
44
+ ...props
45
+ }
46
+ );
47
+ }
48
+ function InputOTPGroup({ className, ...props }) {
49
+ return /* @__PURE__ */ jsxRuntime.jsx(
50
+ "div",
51
+ {
52
+ "data-slot": "input-otp-group",
53
+ className: chunkJOVJRQO3_js.cn("flex items-center", className),
54
+ ...props
55
+ }
56
+ );
57
+ }
58
+ function InputOTPSlot({
59
+ index,
60
+ className,
61
+ ...props
62
+ }) {
63
+ const inputOTPContext = React__namespace.useContext(inputOtp.OTPInputContext);
64
+ const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
65
+ return /* @__PURE__ */ jsxRuntime.jsxs(
66
+ "div",
67
+ {
68
+ "data-slot": "input-otp-slot",
69
+ "data-active": isActive,
70
+ className: chunkJOVJRQO3_js.cn(
71
+ "relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
72
+ className
73
+ ),
74
+ ...props,
75
+ children: [
76
+ char,
77
+ hasFakeCaret && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
78
+ ]
79
+ }
80
+ );
81
+ }
82
+ function InputOTPSeparator({ ...props }) {
83
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MinusIcon, {}) });
84
+ }
85
+
86
+ exports.InputOTP = InputOTP;
87
+ exports.InputOTPGroup = InputOTPGroup;
88
+ exports.InputOTPSeparator = InputOTPSeparator;
89
+ exports.InputOTPSlot = InputOTPSlot;
@@ -0,0 +1,64 @@
1
+ "use client";
2
+ import { cn } from '../chunk-S26666D6.mjs';
3
+ import * as React from 'react';
4
+ import { OTPInput, OTPInputContext } from 'input-otp';
5
+ import { MinusIcon } from 'lucide-react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ function InputOTP({
9
+ className,
10
+ containerClassName,
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsx(
14
+ OTPInput,
15
+ {
16
+ "data-slot": "input-otp",
17
+ containerClassName: cn(
18
+ "flex items-center gap-2 has-disabled:opacity-50",
19
+ containerClassName
20
+ ),
21
+ className: cn("disabled:cursor-not-allowed", className),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ function InputOTPGroup({ className, ...props }) {
27
+ return /* @__PURE__ */ jsx(
28
+ "div",
29
+ {
30
+ "data-slot": "input-otp-group",
31
+ className: cn("flex items-center", className),
32
+ ...props
33
+ }
34
+ );
35
+ }
36
+ function InputOTPSlot({
37
+ index,
38
+ className,
39
+ ...props
40
+ }) {
41
+ const inputOTPContext = React.useContext(OTPInputContext);
42
+ const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
43
+ return /* @__PURE__ */ jsxs(
44
+ "div",
45
+ {
46
+ "data-slot": "input-otp-slot",
47
+ "data-active": isActive,
48
+ className: cn(
49
+ "relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
50
+ className
51
+ ),
52
+ ...props,
53
+ children: [
54
+ char,
55
+ hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
56
+ ]
57
+ }
58
+ );
59
+ }
60
+ function InputOTPSeparator({ ...props }) {
61
+ return /* @__PURE__ */ jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx(MinusIcon, {}) });
62
+ }
63
+
64
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as ResizablePrimitive from 'react-resizable-panels';
3
+
4
+ declare function ResizablePanelGroup({ className, ...props }: ResizablePrimitive.GroupProps): react_jsx_runtime.JSX.Element;
5
+ declare function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps): react_jsx_runtime.JSX.Element;
6
+ declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
7
+ withHandle?: boolean;
8
+ }): react_jsx_runtime.JSX.Element;
9
+
10
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as ResizablePrimitive from 'react-resizable-panels';
3
+
4
+ declare function ResizablePanelGroup({ className, ...props }: ResizablePrimitive.GroupProps): react_jsx_runtime.JSX.Element;
5
+ declare function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps): react_jsx_runtime.JSX.Element;
6
+ declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
7
+ withHandle?: boolean;
8
+ }): react_jsx_runtime.JSX.Element;
9
+
10
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkJOVJRQO3_js = require('../chunk-JOVJRQO3.js');
5
+ var lucideReact = require('lucide-react');
6
+ var ResizablePrimitive = require('react-resizable-panels');
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 ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
28
+
29
+ function ResizablePanelGroup({
30
+ className,
31
+ ...props
32
+ }) {
33
+ return /* @__PURE__ */ jsxRuntime.jsx(
34
+ ResizablePrimitive__namespace.Group,
35
+ {
36
+ "data-slot": "resizable-panel-group",
37
+ className: chunkJOVJRQO3_js.cn(
38
+ "flex h-full w-full aria-[orientation=vertical]:flex-col",
39
+ className
40
+ ),
41
+ ...props
42
+ }
43
+ );
44
+ }
45
+ function ResizablePanel({ ...props }) {
46
+ return /* @__PURE__ */ jsxRuntime.jsx(ResizablePrimitive__namespace.Panel, { "data-slot": "resizable-panel", ...props });
47
+ }
48
+ function ResizableHandle({
49
+ withHandle,
50
+ className,
51
+ ...props
52
+ }) {
53
+ return /* @__PURE__ */ jsxRuntime.jsx(
54
+ ResizablePrimitive__namespace.Separator,
55
+ {
56
+ "data-slot": "resizable-handle",
57
+ className: chunkJOVJRQO3_js.cn(
58
+ "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90",
59
+ className
60
+ ),
61
+ ...props,
62
+ children: withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVerticalIcon, { className: "size-2.5" }) })
63
+ }
64
+ );
65
+ }
66
+
67
+ exports.ResizableHandle = ResizableHandle;
68
+ exports.ResizablePanel = ResizablePanel;
69
+ exports.ResizablePanelGroup = ResizablePanelGroup;
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { cn } from '../chunk-S26666D6.mjs';
3
+ import { GripVerticalIcon } from 'lucide-react';
4
+ import * as ResizablePrimitive from 'react-resizable-panels';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function ResizablePanelGroup({
8
+ className,
9
+ ...props
10
+ }) {
11
+ return /* @__PURE__ */ jsx(
12
+ ResizablePrimitive.Group,
13
+ {
14
+ "data-slot": "resizable-panel-group",
15
+ className: cn(
16
+ "flex h-full w-full aria-[orientation=vertical]:flex-col",
17
+ className
18
+ ),
19
+ ...props
20
+ }
21
+ );
22
+ }
23
+ function ResizablePanel({ ...props }) {
24
+ return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
25
+ }
26
+ function ResizableHandle({
27
+ withHandle,
28
+ className,
29
+ ...props
30
+ }) {
31
+ return /* @__PURE__ */ jsx(
32
+ ResizablePrimitive.Separator,
33
+ {
34
+ "data-slot": "resizable-handle",
35
+ className: cn(
36
+ "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90",
37
+ className
38
+ ),
39
+ ...props,
40
+ children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border", children: /* @__PURE__ */ jsx(GripVerticalIcon, { className: "size-2.5" }) })
41
+ }
42
+ );
43
+ }
44
+
45
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };