lizaui 9.0.61 → 9.0.63

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.
@@ -0,0 +1,7 @@
1
+ import { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from './drawer.type';
2
+ export declare const Drawer: import('react').ForwardRefExoticComponent<DrawerType & import('react').RefAttributes<HTMLDivElement>>;
3
+ export declare const DrawerContent: import('react').ForwardRefExoticComponent<DrawerContentType & import('react').RefAttributes<HTMLDivElement>>;
4
+ export declare const DrawerHeader: import('react').ForwardRefExoticComponent<DrawerHeaderType & import('react').RefAttributes<HTMLDivElement>>;
5
+ export declare const DrawerBody: import('react').ForwardRefExoticComponent<DrawerBodyType & import('react').RefAttributes<HTMLDivElement>>;
6
+ export declare const DrawerFooter: import('react').ForwardRefExoticComponent<DrawerFooterType & import('react').RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA+LvH,eAAO,MAAM,MAAM,uGAuLlB,CAAC;AAIF,eAAO,MAAM,aAAa,8GAQzB,CAAC;AAIF,eAAO,MAAM,YAAY,6GAexB,CAAC;AAIF,eAAO,MAAM,UAAU,2GAetB,CAAC;AAIF,eAAO,MAAM,YAAY,6GAexB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { Variants } from 'framer-motion';
3
+ export type SizeDrawerInterface = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "full";
4
+ export type PlacementDrawerType = "left" | "right" | "top" | "bottom";
5
+ export interface DrawerMotionProps {
6
+ variants?: Variants;
7
+ initial?: string;
8
+ animate?: string;
9
+ exit?: string;
10
+ transition?: any;
11
+ }
12
+ export interface DrawerType {
13
+ drawerId?: string;
14
+ children: ReactNode;
15
+ isOpen: boolean;
16
+ defaultOpen?: boolean;
17
+ size?: SizeDrawerInterface;
18
+ radius?: "none" | "sm" | "md" | "lg";
19
+ placement?: PlacementDrawerType;
20
+ isDismissable?: boolean;
21
+ isKeyboardDismissDisabled?: boolean;
22
+ shouldBlockScroll?: boolean;
23
+ hideCloseButton?: boolean;
24
+ closeButton?: ReactNode;
25
+ backdrop?: "transparent" | "opaque" | "blur";
26
+ motionProps?: DrawerMotionProps;
27
+ portalContainer?: HTMLElement;
28
+ disableAnimation?: boolean;
29
+ classNames?: Partial<{
30
+ wrapper: string;
31
+ base: string;
32
+ backdrop: string;
33
+ header: string;
34
+ body: string;
35
+ footer: string;
36
+ closeButton: string;
37
+ }>;
38
+ style?: CSSProperties;
39
+ onOpenChange?: (isOpen: boolean) => void;
40
+ onClose?: () => void;
41
+ }
42
+ export interface DrawerContentType {
43
+ children: ReactNode;
44
+ className?: string;
45
+ style?: CSSProperties;
46
+ }
47
+ export interface DrawerHeaderType {
48
+ children?: ReactNode;
49
+ className?: string;
50
+ style?: CSSProperties;
51
+ }
52
+ export interface DrawerBodyType {
53
+ children: ReactNode;
54
+ className?: string;
55
+ style?: CSSProperties;
56
+ }
57
+ export interface DrawerFooterType {
58
+ children: ReactNode;
59
+ className?: string;
60
+ style?: CSSProperties;
61
+ }
62
+ //# sourceMappingURL=drawer.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.type.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAC5G,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ export { Drawer, DrawerContent, DrawerHeader, DrawerBody, DrawerFooter } from './drawer';
2
+ export type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType, SizeDrawerInterface, PlacementDrawerType, DrawerMotionProps, } from './drawer.type';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzF,YAAY,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,eAAe,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from '../types';
2
2
  export * from '../hooks/use-modal';
3
+ export * from '../hooks/use-drawer';
3
4
  export * from '../hooks/use-confirmation';
4
5
  export * from '../hooks/use-draggable';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../src/components/table/header/resize-handle.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IAC1B,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,iFAAmD,iBAAiB,6CA2B3F,CAAC"}
1
+ {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../src/components/table/header/resize-handle.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IAC1B,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,iFAAmD,iBAAiB,6CA6B3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-header-column.d.ts","sourceRoot":"","sources":["../../../../src/components/table/header/table-header-column.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAW,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAO1E,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAwIzD,CAAC"}
1
+ {"version":3,"file":"table-header-column.d.ts","sourceRoot":"","sources":["../../../../src/components/table/header/table-header-column.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAW,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAO1E,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA4IzD,CAAC"}
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
25
+ const jsxRuntime = require("react/jsx-runtime");
26
+ const compilerRuntime = require("react/compiler-runtime");
27
+ const ReactDOM = require("react-dom");
28
+ const React = require("react");
29
+ const utils = require("../chunks/utils-ij3i9zTT.js");
30
+ const button = require("../chunks/button-DXakoYvu.js");
31
+ const framerMotion = require("framer-motion");
32
+ const index = require("../chunks/index-DaMyCNJ8.js");
33
+ const backdropVariants = index.cva("", {
34
+ variants: {
35
+ backdrop: {
36
+ transparent: "bg-transparent",
37
+ opaque: "bg-black/50",
38
+ blur: "backdrop-blur-md backdrop-saturate-150 bg-overlay/30"
39
+ }
40
+ },
41
+ defaultVariants: {
42
+ backdrop: "opaque"
43
+ }
44
+ });
45
+ const sizeVariants = index.cva("", {
46
+ variants: {
47
+ size: {
48
+ "xs": "w-80",
49
+ "sm": "w-96",
50
+ "md": "w-[448px]",
51
+ "lg": "w-[512px]",
52
+ "xl": "w-[640px]",
53
+ "2xl": "w-[768px]",
54
+ "3xl": "w-[896px]",
55
+ "4xl": "w-[1024px]",
56
+ "5xl": "w-[1152px]",
57
+ "full": "w-full"
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ size: "md"
62
+ }
63
+ });
64
+ const sizeHorizontalVariants = index.cva("", {
65
+ variants: {
66
+ size: {
67
+ "xs": "h-80",
68
+ "sm": "h-96",
69
+ "md": "h-[448px]",
70
+ "lg": "h-[512px]",
71
+ "xl": "h-[640px]",
72
+ "2xl": "h-[768px]",
73
+ "3xl": "h-[896px]",
74
+ "4xl": "h-[1024px]",
75
+ "5xl": "h-[1152px]",
76
+ "full": "h-full"
77
+ }
78
+ },
79
+ defaultVariants: {
80
+ size: "md"
81
+ }
82
+ });
83
+ const radiusVariants = index.cva("", {
84
+ variants: {
85
+ radius: {
86
+ none: "rounded-none",
87
+ sm: "rounded-sm",
88
+ md: "rounded-md",
89
+ lg: "rounded-lg"
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ radius: "lg"
94
+ }
95
+ });
96
+ const placementVariants = index.cva("fixed", {
97
+ variants: {
98
+ placement: {
99
+ left: "left-0 top-0 bottom-0",
100
+ right: "right-0 top-0 bottom-0",
101
+ top: "top-0 left-0 right-0",
102
+ bottom: "bottom-0 left-0 right-0"
103
+ }
104
+ },
105
+ defaultVariants: {
106
+ placement: "right"
107
+ }
108
+ });
109
+ const getDrawerVariants = (placement = "right") => {
110
+ const variants = {
111
+ left: {
112
+ enter: {
113
+ x: 0,
114
+ opacity: 1,
115
+ transition: {
116
+ type: "spring",
117
+ stiffness: 400,
118
+ damping: 40,
119
+ duration: 0.3
120
+ }
121
+ },
122
+ exit: {
123
+ x: "-100%",
124
+ opacity: 0,
125
+ transition: {
126
+ duration: 0.2,
127
+ ease: "easeOut"
128
+ }
129
+ }
130
+ },
131
+ right: {
132
+ enter: {
133
+ x: 0,
134
+ opacity: 1,
135
+ transition: {
136
+ type: "spring",
137
+ stiffness: 400,
138
+ damping: 40,
139
+ duration: 0.3
140
+ }
141
+ },
142
+ exit: {
143
+ x: "100%",
144
+ opacity: 0,
145
+ transition: {
146
+ duration: 0.2,
147
+ ease: "easeOut"
148
+ }
149
+ }
150
+ },
151
+ top: {
152
+ enter: {
153
+ y: 0,
154
+ opacity: 1,
155
+ transition: {
156
+ type: "spring",
157
+ stiffness: 400,
158
+ damping: 40,
159
+ duration: 0.3
160
+ }
161
+ },
162
+ exit: {
163
+ y: "-100%",
164
+ opacity: 0,
165
+ transition: {
166
+ duration: 0.2,
167
+ ease: "easeOut"
168
+ }
169
+ }
170
+ },
171
+ bottom: {
172
+ enter: {
173
+ y: 0,
174
+ opacity: 1,
175
+ transition: {
176
+ type: "spring",
177
+ stiffness: 400,
178
+ damping: 40,
179
+ duration: 0.3
180
+ }
181
+ },
182
+ exit: {
183
+ y: "100%",
184
+ opacity: 0,
185
+ transition: {
186
+ duration: 0.2,
187
+ ease: "easeOut"
188
+ }
189
+ }
190
+ }
191
+ };
192
+ return variants[placement];
193
+ };
194
+ const getInitialPosition = (placement = "right") => {
195
+ const positions = {
196
+ left: {
197
+ x: "-100%",
198
+ opacity: 0
199
+ },
200
+ right: {
201
+ x: "100%",
202
+ opacity: 0
203
+ },
204
+ top: {
205
+ y: "-100%",
206
+ opacity: 0
207
+ },
208
+ bottom: {
209
+ y: "100%",
210
+ opacity: 0
211
+ }
212
+ };
213
+ return positions[placement];
214
+ };
215
+ const Drawer = React.forwardRef(({
216
+ drawerId: propDrawerId,
217
+ children,
218
+ isOpen,
219
+ size = "md",
220
+ radius = "lg",
221
+ placement = "right",
222
+ isDismissable = true,
223
+ isKeyboardDismissDisabled = false,
224
+ shouldBlockScroll = true,
225
+ hideCloseButton = false,
226
+ backdrop = "opaque",
227
+ motionProps,
228
+ portalContainer,
229
+ disableAnimation = false,
230
+ classNames = {},
231
+ style,
232
+ onOpenChange,
233
+ onClose
234
+ }, ref) => {
235
+ const uniqueId = React.useId();
236
+ const drawerId = propDrawerId || uniqueId;
237
+ const [mounted, setMounted] = React.useState(false);
238
+ React.useEffect(() => {
239
+ setMounted(true);
240
+ }, []);
241
+ React.useEffect(() => {
242
+ if (typeof window !== "undefined" && isOpen && shouldBlockScroll) {
243
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
244
+ document.body.style.overflow = "hidden";
245
+ document.body.style.paddingRight = `${scrollbarWidth}px`;
246
+ }
247
+ return () => {
248
+ if (typeof window !== "undefined" && shouldBlockScroll) {
249
+ document.body.style.overflow = "";
250
+ document.body.style.paddingRight = "";
251
+ }
252
+ };
253
+ }, [isOpen, shouldBlockScroll]);
254
+ React.useEffect(() => {
255
+ const handleKeyDown = (e) => {
256
+ if (e.key === "Escape" && !isKeyboardDismissDisabled && isDismissable) {
257
+ onClose?.();
258
+ onOpenChange?.(false);
259
+ }
260
+ };
261
+ if (isOpen) {
262
+ document.addEventListener("keydown", handleKeyDown);
263
+ }
264
+ return () => {
265
+ document.removeEventListener("keydown", handleKeyDown);
266
+ };
267
+ }, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);
268
+ const handleBackdropClick = () => {
269
+ if (isDismissable) {
270
+ onClose?.();
271
+ onOpenChange?.(false);
272
+ }
273
+ };
274
+ if (!mounted) return null;
275
+ const drawerRoot = portalContainer || document.getElementById("drawer-root") || document.body;
276
+ const isHorizontal = placement === "top" || placement === "bottom";
277
+ const sizeClass = isHorizontal ? sizeHorizontalVariants({
278
+ size
279
+ }) : sizeVariants({
280
+ size
281
+ });
282
+ const getRadiusClass = () => {
283
+ if (radius === "none") return radiusVariants({
284
+ radius
285
+ });
286
+ switch (placement) {
287
+ case "left":
288
+ return `rounded-r-${radius}`;
289
+ case "right":
290
+ return `rounded-l-${radius}`;
291
+ case "top":
292
+ return `rounded-b-${radius}`;
293
+ case "bottom":
294
+ return `rounded-t-${radius}`;
295
+ default:
296
+ return radiusVariants({
297
+ radius
298
+ });
299
+ }
300
+ };
301
+ const drawerVariants = motionProps?.variants || getDrawerVariants(placement);
302
+ const initialPosition = getInitialPosition(placement);
303
+ return ReactDOM.createPortal(/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsx(framerMotion.LazyMotion, { features: () => import("framer-motion").then((res) => res.domAnimation), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils.cn("fixed inset-0 z-50 overflow-hidden", classNames.wrapper), children: [
304
+ /* @__PURE__ */ jsxRuntime.jsx(framerMotion.m.div, { initial: {
305
+ opacity: 0
306
+ }, animate: {
307
+ opacity: 1
308
+ }, exit: {
309
+ opacity: 0
310
+ }, transition: {
311
+ duration: 0.3
312
+ }, className: utils.cn("fixed inset-0", backdropVariants({
313
+ backdrop
314
+ }), classNames.backdrop), onClick: handleBackdropClick, "aria-hidden": "true", tabIndex: -1, "data-dismissable": isDismissable }, "drawer-backdrop"),
315
+ /* @__PURE__ */ jsxRuntime.jsxs(framerMotion.m.div, { ref, id: drawerId, role: "dialog", "aria-modal": "true", "data-open": isOpen, "data-dismissable": isDismissable, initial: disableAnimation ? void 0 : initialPosition, animate: disableAnimation ? void 0 : "enter", exit: disableAnimation ? void 0 : "exit", variants: disableAnimation ? void 0 : drawerVariants, ...motionProps?.transition && {
316
+ transition: motionProps.transition
317
+ }, className: utils.cn("z-50 flex flex-col bg-content1 shadow-lg max-h-full", placementVariants({
318
+ placement
319
+ }), sizeClass, getRadiusClass(), classNames.base), style, children: [
320
+ !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("absolute top-3 right-3 z-10", classNames.closeButton), children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { isIconOnly: true, variant: "light", radius: "full", size: "sm", "aria-label": "Close drawer", onClick: () => {
321
+ onClose?.();
322
+ onOpenChange?.(false);
323
+ }, className: "p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200", children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16", fill: "currentColor", viewBox: "0 0 21 21", role: "img", "aria-hidden": "true", children: [
324
+ /* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h21v21H0z" }),
325
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z" })
326
+ ] }) }) }),
327
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col h-full overflow-hidden", children })
328
+ ] }, "drawer-content")
329
+ ] }) }) }), drawerRoot);
330
+ });
331
+ Drawer.displayName = "Drawer";
332
+ const DrawerContent = React.forwardRef((t0, ref) => {
333
+ const $ = compilerRuntime.c(7);
334
+ const {
335
+ children,
336
+ className,
337
+ style
338
+ } = t0;
339
+ let t1;
340
+ if ($[0] !== className) {
341
+ t1 = utils.cn("flex flex-col h-full", className);
342
+ $[0] = className;
343
+ $[1] = t1;
344
+ } else {
345
+ t1 = $[1];
346
+ }
347
+ let t2;
348
+ if ($[2] !== children || $[3] !== ref || $[4] !== style || $[5] !== t1) {
349
+ t2 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: t1, style, children });
350
+ $[2] = children;
351
+ $[3] = ref;
352
+ $[4] = style;
353
+ $[5] = t1;
354
+ $[6] = t2;
355
+ } else {
356
+ t2 = $[6];
357
+ }
358
+ return t2;
359
+ });
360
+ DrawerContent.displayName = "DrawerContent";
361
+ const DrawerHeader = React.forwardRef((t0, ref) => {
362
+ const $ = compilerRuntime.c(7);
363
+ const {
364
+ children,
365
+ className,
366
+ style
367
+ } = t0;
368
+ let t1;
369
+ if ($[0] !== className) {
370
+ t1 = utils.cn("flex flex-col gap-1 px-6 py-4 border-b border-divider", className);
371
+ $[0] = className;
372
+ $[1] = t1;
373
+ } else {
374
+ t1 = $[1];
375
+ }
376
+ let t2;
377
+ if ($[2] !== children || $[3] !== ref || $[4] !== style || $[5] !== t1) {
378
+ t2 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: t1, style, children });
379
+ $[2] = children;
380
+ $[3] = ref;
381
+ $[4] = style;
382
+ $[5] = t1;
383
+ $[6] = t2;
384
+ } else {
385
+ t2 = $[6];
386
+ }
387
+ return t2;
388
+ });
389
+ DrawerHeader.displayName = "DrawerHeader";
390
+ const DrawerBody = React.forwardRef((t0, ref) => {
391
+ const $ = compilerRuntime.c(7);
392
+ const {
393
+ children,
394
+ className,
395
+ style
396
+ } = t0;
397
+ let t1;
398
+ if ($[0] !== className) {
399
+ t1 = utils.cn("flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1", className);
400
+ $[0] = className;
401
+ $[1] = t1;
402
+ } else {
403
+ t1 = $[1];
404
+ }
405
+ let t2;
406
+ if ($[2] !== children || $[3] !== ref || $[4] !== style || $[5] !== t1) {
407
+ t2 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: t1, style, children });
408
+ $[2] = children;
409
+ $[3] = ref;
410
+ $[4] = style;
411
+ $[5] = t1;
412
+ $[6] = t2;
413
+ } else {
414
+ t2 = $[6];
415
+ }
416
+ return t2;
417
+ });
418
+ DrawerBody.displayName = "DrawerBody";
419
+ const DrawerFooter = React.forwardRef((t0, ref) => {
420
+ const $ = compilerRuntime.c(7);
421
+ const {
422
+ children,
423
+ className,
424
+ style
425
+ } = t0;
426
+ let t1;
427
+ if ($[0] !== className) {
428
+ t1 = utils.cn("flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end border-t border-divider mt-auto", className);
429
+ $[0] = className;
430
+ $[1] = t1;
431
+ } else {
432
+ t1 = $[1];
433
+ }
434
+ let t2;
435
+ if ($[2] !== children || $[3] !== ref || $[4] !== style || $[5] !== t1) {
436
+ t2 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: t1, style, children });
437
+ $[2] = children;
438
+ $[3] = ref;
439
+ $[4] = style;
440
+ $[5] = t1;
441
+ $[6] = t2;
442
+ } else {
443
+ t2 = $[6];
444
+ }
445
+ return t2;
446
+ });
447
+ DrawerFooter.displayName = "DrawerFooter";
448
+ exports.Drawer = Drawer;
449
+ exports.DrawerBody = DrawerBody;
450
+ exports.DrawerContent = DrawerContent;
451
+ exports.DrawerFooter = DrawerFooter;
452
+ exports.DrawerHeader = DrawerHeader;
453
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useState, useId } from \"react\";\nimport type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from \"./drawer.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { cva } from \"class-variance-authority\";\n\n// Backdrop variants\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\n// Size variants for drawer\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"w-80\",\n\t\t\t\"sm\": \"w-96\",\n\t\t\t\"md\": \"w-[448px]\",\n\t\t\t\"lg\": \"w-[512px]\",\n\t\t\t\"xl\": \"w-[640px]\",\n\t\t\t\"2xl\": \"w-[768px]\",\n\t\t\t\"3xl\": \"w-[896px]\",\n\t\t\t\"4xl\": \"w-[1024px]\",\n\t\t\t\"5xl\": \"w-[1152px]\",\n\t\t\t\"full\": \"w-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n// Size variants for horizontal drawers (top/bottom)\nconst sizeHorizontalVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"h-80\",\n\t\t\t\"sm\": \"h-96\",\n\t\t\t\"md\": \"h-[448px]\",\n\t\t\t\"lg\": \"h-[512px]\",\n\t\t\t\"xl\": \"h-[640px]\",\n\t\t\t\"2xl\": \"h-[768px]\",\n\t\t\t\"3xl\": \"h-[896px]\",\n\t\t\t\"4xl\": \"h-[1024px]\",\n\t\t\t\"5xl\": \"h-[1152px]\",\n\t\t\t\"full\": \"h-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n// Radius variants\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\n\t},\n});\n\n// Placement variants\nconst placementVariants = cva(\"fixed\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tleft: \"left-0 top-0 bottom-0\",\n\t\t\tright: \"right-0 top-0 bottom-0\",\n\t\t\ttop: \"top-0 left-0 right-0\",\n\t\t\tbottom: \"bottom-0 left-0 right-0\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"right\",\n\t},\n});\n\n// Get motion variants based on placement\nconst getDrawerVariants = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst variants: any = {\n\t\tleft: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tright: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttop: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbottom: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn variants[placement];\n};\n\nconst getInitialPosition = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst positions: any = {\n\t\tleft: { x: \"-100%\", opacity: 0 },\n\t\tright: { x: \"100%\", opacity: 0 },\n\t\ttop: { y: \"-100%\", opacity: 0 },\n\t\tbottom: { y: \"100%\", opacity: 0 },\n\t};\n\n\treturn positions[placement];\n};\n\nexport const Drawer = forwardRef(\n\t(\n\t\t{\n\t\t\tdrawerId: propDrawerId,\n\t\t\tchildren,\n\t\t\tisOpen,\n\t\t\tsize = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"right\",\n\t\t\tisDismissable = true,\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\thideCloseButton = false,\n\t\t\tbackdrop = \"opaque\",\n\t\t\tmotionProps,\n\t\t\tportalContainer,\n\t\t\tdisableAnimation = false,\n\t\t\tclassNames = {},\n\t\t\tstyle,\n\t\t\tonOpenChange,\n\t\t\tonClose,\n\t\t}: DrawerType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst drawerId = propDrawerId || uniqueId;\n\t\tconst [mounted, setMounted] = useState(false);\n\n\t\t// Handle SSR\n\t\tuseEffect(() => {\n\t\t\tsetMounted(true);\n\t\t}, []);\n\n\t\t// Block scroll when drawer is open\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isOpen && shouldBlockScroll) {\n\t\t\t\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\t\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth}px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\" && shouldBlockScroll) {\n\t\t\t\t\tdocument.body.style.overflow = \"\";\n\t\t\t\t\tdocument.body.style.paddingRight = \"\";\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isOpen, shouldBlockScroll]);\n\n\t\t// Handle escape key\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled && isDismissable) {\n\t\t\t\t\tonClose?.();\n\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isOpen) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);\n\n\t\tconst handleBackdropClick = () => {\n\t\t\tif (isDismissable) {\n\t\t\t\tonClose?.();\n\t\t\t\tonOpenChange?.(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!mounted) return null;\n\n\t\tconst drawerRoot = portalContainer || document.getElementById(\"drawer-root\") || document.body;\n\n\t\tconst isHorizontal = placement === \"top\" || placement === \"bottom\";\n\t\tconst sizeClass = isHorizontal ? sizeHorizontalVariants({ size }) : sizeVariants({ size });\n\n\t\t// Apply radius only to the appropriate edges based on placement\n\t\tconst getRadiusClass = () => {\n\t\t\tif (radius === \"none\") return radiusVariants({ radius });\n\n\t\t\tswitch (placement) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\treturn `rounded-r-${radius}`;\n\t\t\t\tcase \"right\":\n\t\t\t\t\treturn `rounded-l-${radius}`;\n\t\t\t\tcase \"top\":\n\t\t\t\t\treturn `rounded-b-${radius}`;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\treturn `rounded-t-${radius}`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn radiusVariants({ radius });\n\t\t\t}\n\t\t};\n\n\t\tconst drawerVariants = motionProps?.variants || getDrawerVariants(placement);\n\t\tconst initialPosition = getInitialPosition(placement);\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<div className={cn(\"fixed inset-0 z-50 overflow-hidden\", classNames.wrapper)}>\n\t\t\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-backdrop\"\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{ opacity: 0 }}\n\t\t\t\t\t\t\t\ttransition={{ duration: 0.3 }}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tclassNames.backdrop,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Drawer */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-content\"\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={drawerId}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\tdata-open={isOpen}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t\tinitial={disableAnimation ? undefined : initialPosition}\n\t\t\t\t\t\t\t\tanimate={disableAnimation ? undefined : \"enter\"}\n\t\t\t\t\t\t\t\texit={disableAnimation ? undefined : \"exit\"}\n\t\t\t\t\t\t\t\tvariants={disableAnimation ? undefined : drawerVariants}\n\t\t\t\t\t\t\t\t{...(motionProps?.transition && { transition: motionProps.transition })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"z-50 flex flex-col bg-content1 shadow-lg max-h-full\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tsizeClass,\n\t\t\t\t\t\t\t\t\tgetRadiusClass(),\n\t\t\t\t\t\t\t\t\tclassNames.base,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Close button - positioned absolutely */}\n\t\t\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t\t\t<div className={cn(\"absolute top-3 right-3 z-10\", classNames.closeButton)}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 21 21\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\tdrawerRoot,\n\t\t);\n\t},\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerContent = forwardRef(\n\t({ children, className, style }: DrawerContentType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"flex flex-col h-full\", className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = forwardRef(\n\t({ children, className, style }: DrawerHeaderType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-1 px-6 py-4 border-b border-divider\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = forwardRef(\n\t({ children, className, style }: DrawerBodyType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = forwardRef(\n\t({ children, className, style }: DrawerFooterType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end border-t border-divider mt-auto\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n"],"names":["backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","sizeHorizontalVariants","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","left","right","top","bottom","getDrawerVariants","enter","x","opacity","transition","type","stiffness","damping","duration","exit","ease","y","getInitialPosition","positions","Drawer","forwardRef","drawerId","propDrawerId","children","isOpen","isDismissable","isKeyboardDismissDisabled","shouldBlockScroll","hideCloseButton","motionProps","portalContainer","disableAnimation","classNames","style","onOpenChange","onClose","ref","uniqueId","useId","mounted","setMounted","useState","useEffect","window","scrollbarWidth","innerWidth","document","documentElement","clientWidth","body","overflow","paddingRight","handleKeyDown","e","key","addEventListener","removeEventListener","handleBackdropClick","drawerRoot","getElementById","isHorizontal","sizeClass","getRadiusClass","drawerVariants","initialPosition","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","cn","wrapper","m","undefined","base","closeButton","Button","displayName","DrawerContent","t0","$","_c","className","t1","t2","DrawerHeader","DrawerBody","DrawerFooter"],"mappings":"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"}