@signozhq/drawer 0.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.
- package/dist/drawer.d.ts +33 -0
- package/dist/drawer.js +209 -0
- package/package.json +56 -0
package/dist/drawer.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Drawer as Drawer$1 } from 'vaul';
|
|
4
|
+
|
|
5
|
+
declare function Drawer({ ...props }: React.ComponentProps<typeof Drawer$1.Root>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof Drawer$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function DrawerPortal({ ...props }: React.ComponentProps<typeof Drawer$1.Portal>): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function DrawerClose({ ...props }: React.ComponentProps<typeof Drawer$1.Close>): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof Drawer$1.Overlay>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function DrawerContent({ className, children, showOverlay, ...props }: React.ComponentProps<typeof Drawer$1.Content> & {
|
|
11
|
+
showOverlay?: boolean;
|
|
12
|
+
}): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function DrawerHeader({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function DrawerFooter({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof Drawer$1.Title>): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof Drawer$1.Description>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
interface DrawerWrapperProps {
|
|
18
|
+
trigger: React.ReactNode;
|
|
19
|
+
header?: {
|
|
20
|
+
title: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
};
|
|
23
|
+
content: React.ReactNode;
|
|
24
|
+
footer?: React.ReactNode;
|
|
25
|
+
direction?: 'top' | 'right' | 'bottom' | 'left';
|
|
26
|
+
showCloseButton?: boolean;
|
|
27
|
+
allowOutsideClick?: boolean;
|
|
28
|
+
showOverlay?: boolean;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
declare function DrawerWrapper({ trigger, header, content, footer, direction, showCloseButton, allowOutsideClick, showOverlay, className, }: DrawerWrapperProps): react_jsx_runtime.JSX.Element;
|
|
32
|
+
|
|
33
|
+
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DrawerWrapper };
|
package/dist/drawer.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { Drawer as Drawer$1 } from 'vaul';
|
|
2
|
+
import { X } from 'lucide-react';
|
|
3
|
+
import { clsx } from 'clsx';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __defProps = Object.defineProperties;
|
|
9
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
10
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
13
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
+
var __spreadValues = (a, b) => {
|
|
15
|
+
for (var prop in b || (b = {}))
|
|
16
|
+
if (__hasOwnProp.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
if (__getOwnPropSymbols)
|
|
19
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
+
if (__propIsEnum.call(b, prop))
|
|
21
|
+
__defNormalProp(a, prop, b[prop]);
|
|
22
|
+
}
|
|
23
|
+
return a;
|
|
24
|
+
};
|
|
25
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
|
+
var __objRest = (source, exclude) => {
|
|
27
|
+
var target = {};
|
|
28
|
+
for (var prop in source)
|
|
29
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
if (source != null && __getOwnPropSymbols)
|
|
32
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
33
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
34
|
+
target[prop] = source[prop];
|
|
35
|
+
}
|
|
36
|
+
return target;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// #style-inject:#style-inject
|
|
40
|
+
function styleInject(css, { insertAt } = {}) {
|
|
41
|
+
if (typeof document === "undefined") return;
|
|
42
|
+
const head = document.head || document.getElementsByTagName("head")[0];
|
|
43
|
+
const style = document.createElement("style");
|
|
44
|
+
style.type = "text/css";
|
|
45
|
+
if (insertAt === "top") {
|
|
46
|
+
if (head.firstChild) {
|
|
47
|
+
head.insertBefore(style, head.firstChild);
|
|
48
|
+
} else {
|
|
49
|
+
head.appendChild(style);
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
head.appendChild(style);
|
|
53
|
+
}
|
|
54
|
+
if (style.styleSheet) {
|
|
55
|
+
style.styleSheet.cssText = css;
|
|
56
|
+
} else {
|
|
57
|
+
style.appendChild(document.createTextNode(css));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// src/index.css
|
|
62
|
+
styleInject('/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans: var(--font-sans);\n --font-serif: var(--font-serif);\n --font-mono: var(--font-mono);\n --color-slate-500: var(--bg-slate-500);\n --color-black: #000;\n --spacing: 0.25rem;\n --container-sm: 24rem;\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --font-weight-normal: 400;\n --font-weight-semibold: 600;\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --color-card: var(--card);\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n --color-border: var(--border);\n --color-ring: var(--ring);\n --color-vanilla-300: var(--bg-vanilla-300);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .fixed {\n position: fixed;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .z-50 {\n z-index: 50;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-auto {\n margin-top: auto;\n }\n .flex {\n display: flex;\n }\n .hidden {\n display: none;\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-auto {\n height: auto;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-full {\n width: 100%;\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-vanilla-300 {\n border-color: var(--color-vanilla-300);\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-foreground {\n color: var(--color-foreground);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .opacity-70 {\n opacity: 70%;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block {\n &:is(:where(.group\\/drawer-content)[data-vaul-drawer-direction=bottom] *) {\n display: block;\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0 {\n &[data-vaul-drawer-direction=bottom] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0 {\n &[data-vaul-drawer-direction=bottom] {\n bottom: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24 {\n &[data-vaul-drawer-direction=bottom] {\n margin-top: calc(var(--spacing) * 24);\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\] {\n &[data-vaul-drawer-direction=bottom] {\n max-height: 80vh;\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-lg {\n &[data-vaul-drawer-direction=bottom] {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n }\n .data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t {\n &[data-vaul-drawer-direction=bottom] {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n .data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0 {\n &[data-vaul-drawer-direction=left] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=left\\]\\:left-0 {\n &[data-vaul-drawer-direction=left] {\n left: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4 {\n &[data-vaul-drawer-direction=left] {\n width: calc(3/4 * 100%);\n }\n }\n .data-\\[vaul-drawer-direction\\=left\\]\\:border-r {\n &[data-vaul-drawer-direction=left] {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0 {\n &[data-vaul-drawer-direction=right] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=right\\]\\:right-0 {\n &[data-vaul-drawer-direction=right] {\n right: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4 {\n &[data-vaul-drawer-direction=right] {\n width: calc(3/4 * 100%);\n }\n }\n .data-\\[vaul-drawer-direction\\=right\\]\\:border-l {\n &[data-vaul-drawer-direction=right] {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0 {\n &[data-vaul-drawer-direction=top] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:top-0 {\n &[data-vaul-drawer-direction=top] {\n top: calc(var(--spacing) * 0);\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:mb-24 {\n &[data-vaul-drawer-direction=top] {\n margin-bottom: calc(var(--spacing) * 24);\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\] {\n &[data-vaul-drawer-direction=top] {\n max-height: 80vh;\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-lg {\n &[data-vaul-drawer-direction=top] {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n .data-\\[vaul-drawer-direction\\=top\\]\\:border-b {\n &[data-vaul-drawer-direction=top] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm {\n &[data-vaul-drawer-direction=left] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm {\n &[data-vaul-drawer-direction=right] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .dark\\:border-slate-500 {\n &:is(.dark *) {\n border-color: var(--color-slate-500);\n }\n }\n}\n:root {\n --bg-robin-100: #cad5fd;\n --bg-robin-200: #b8c7fc;\n --bg-robin-300: #95acfb;\n --bg-robin-400: #7190f9;\n --bg-robin-500: #4e74f8;\n --bg-robin-600: #3f5ecc;\n --bg-sienna-100: #e6d9cd;\n --bg-sienna-200: #deccbc;\n --bg-sienna-300: #ceb29b;\n --bg-sienna-400: #bd9979;\n --bg-sienna-500: #ad7f58;\n --bg-sienna-600: #8a6646;\n --bg-cherry-100: #fadadb;\n --bg-cherry-200: #f7c8ca;\n --bg-cherry-300: #f5b6b8;\n --bg-cherry-400: #ea6d71;\n --bg-cherry-500: #e5484d;\n --bg-cherry-600: #b83a3e;\n --bg-aqua-100: #c1eefd;\n --bg-aqua-200: #9ae4fc;\n --bg-aqua-300: #72d9fb;\n --bg-aqua-400: #4bcff9;\n --bg-aqua-500: #23c4f8;\n --bg-aqua-600: #07afe6;\n --bg-sakura-100: #fbc8d2;\n --bg-sakura-200: #fab5c3;\n --bg-sakura-300: #f791a5;\n --bg-sakura-400: #f56c87;\n --bg-sakura-500: #f24769;\n --bg-sakura-600: #c53955;\n --bg-amber-100: #fff0cc;\n --bg-amber-200: #ffebbb;\n --bg-amber-300: #ffe19a;\n --bg-amber-400: #ffd778;\n --bg-amber-500: #ffcd56;\n --bg-amber-600: #d5aa45;\n --bg-ink-100: #2a2e37;\n --bg-ink-200: #23262e;\n --bg-ink-300: #16181d;\n --bg-ink-400: #121317;\n --bg-ink-500: #0b0c0e;\n --bg-vanilla-100: #fff;\n --bg-vanilla-200: #f5f5f5;\n --bg-vanilla-300: #e9e9e9;\n --bg-vanilla-400: #c0c1c3;\n --bg-slate-50: #62687c;\n --bg-slate-100: #3c4152;\n --bg-slate-200: #2c3140;\n --bg-slate-300: #242834;\n --bg-slate-400: #1d212d;\n --bg-slate-500: #161922;\n --bg-gradient-coral:\n linear-gradient(\n 114deg,#ed6d68 14.99%,#fca083 77.27%);\n --bg-gradient-dark-shadow:\n linear-gradient(\n 139deg,rgba(18,19,23,.8),rgba(18,19,23,.9) 98.68%);\n --bg-gradient-dawn:\n linear-gradient(\n 99deg,#7a97fa 4.42%,#f977ff 96.6%);\n --bg-gradient-ocean:\n linear-gradient(\n 99deg,#48f8cf 4.42%,#28cbf3 96.6%);\n --bg-gradient-splash:\n linear-gradient(\n 99deg,#4568dc 4.42%,#324daa 96.6%);\n --bg-gradient-flamingo:\n linear-gradient(\n 92deg,#ca9cd0 1.36%,#d38972 68.48%,#a1b1e7 98.99%);\n --bg-forest-200: #a8f3d3;\n --bg-forest-300: #7cedbe;\n --bg-forest-400: #51e7a8;\n --bg-forest-500: #25e192;\n --bg-forest-600: #1eb475;\n --text-robin-100: #cad5fd;\n --text-robin-200: #b8c7fc;\n --text-robin-300: #95acfb;\n --text-robin-400: #7190f9;\n --text-robin-500: #4e74f8;\n --text-robin-600: #3f5ecc;\n --text-sienna-100: #e6d9cd;\n --text-sienna-200: #deccbc;\n --text-sienna-300: #ceb29b;\n --text-sienna-400: #bd9979;\n --text-sienna-500: #ad7f58;\n --text-sienna-600: #8a6646;\n --text-cherry-100: #fadadb;\n --text-cherry-200: #f7c8ca;\n --text-cherry-300: #f5b6b8;\n --text-cherry-400: #ea6d71;\n --text-cherry-500: #e5484d;\n --text-cherry-600: #b83a3e;\n --text-aqua-100: #c1eefd;\n --text-aqua-200: #9ae4fc;\n --text-aqua-300: #72d9fb;\n --text-aqua-400: #4bcff9;\n --text-aqua-500: #23c4f8;\n --text-aqua-600: #07afe6;\n --text-sakura-100: #fbc8d2;\n --text-sakura-200: #fab5c3;\n --text-sakura-300: #f791a5;\n --text-sakura-400: #f56c87;\n --text-sakura-500: #f24769;\n --text-sakura-600: #c53955;\n --text-amber-100: #fff0cc;\n --text-amber-200: #ffebbb;\n --text-amber-300: #ffe19a;\n --text-amber-400: #ffd778;\n --text-amber-500: #ffcd56;\n --text-amber-600: #d5aa45;\n --text-ink-100: #2a2e37;\n --text-ink-200: #23262e;\n --text-ink-300: #16181d;\n --text-ink-400: #121317;\n --text-ink-500: #0b0c0e;\n --text-vanilla-100: #fff;\n --text-vanilla-200: #f5f5f5;\n --text-vanilla-300: #e9e9e9;\n --text-vanilla-400: #c0c1c3;\n --text-slate-200: #2c3140;\n --text-slate-300: #242834;\n --text-slate-400: #1d212d;\n --text-slate-500: #161922;\n --text-gradient-coral:\n linear-gradient(\n 114deg,#ed6d68 14.99%,#fca083 77.27%);\n --text-gradient-dark-shadow:\n linear-gradient(\n 139deg,rgba(18,19,23,.8),rgba(18,19,23,.9) 98.68%);\n --text-gradient-dawn:\n linear-gradient(\n 99deg,#7a97fa 4.42%,#f977ff 96.6%);\n --text-gradient-ocean:\n linear-gradient(\n 99deg,#48f8cf 4.42%,#28cbf3 96.6%);\n --text-gradient-splash:\n linear-gradient(\n 99deg,#4568dc 4.42%,#324daa 96.6%);\n --text-gradient-flamingo:\n linear-gradient(\n 92deg,#ca9cd0 1.36%,#d38972 68.48%,#a1b1e7 98.99%);\n --text-forest-200: #a8f3d3;\n --text-forest-300: #7cedbe;\n --text-forest-400: #51e7a8;\n --text-forest-500: #25e192;\n --text-forest-600: #1eb475;\n --padding-1: 0.25rem;\n --padding-2: 0.5rem;\n --padding-3: 0.75rem;\n --padding-4: 1rem;\n --padding-5: 1.25rem;\n --padding-6: 1.5rem;\n --padding-7: 1.75rem;\n --padding-8: 2rem;\n --padding-10: 2.5rem;\n --padding-12: 3rem;\n --padding-16: 4rem;\n --padding-20: 5rem;\n --padding-24: 6rem;\n --padding-32: 8rem;\n --padding-40: 10rem;\n --padding-48: 12rem;\n --padding-56: 14rem;\n --padding-64: 16rem;\n --margin-1: 0.25rem;\n --margin-2: 0.5rem;\n --margin-3: 0.75rem;\n --margin-4: 1rem;\n --margin-5: 1.25rem;\n --margin-6: 1.5rem;\n --margin-7: 1.75rem;\n --margin-8: 2rem;\n --margin-10: 2.5rem;\n --margin-12: 3rem;\n --margin-16: 4rem;\n --margin-20: 5rem;\n --margin-24: 6rem;\n --margin-32: 8rem;\n --margin-40: 10rem;\n --margin-48: 12rem;\n --margin-56: 14rem;\n --margin-64: 16rem;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-lg: 1.125rem;\n --font-size-xl: 1.25rem;\n --font-size-2xl: 1.5rem;\n --font-size-3xl: 1.875rem;\n --font-size-4xl: 2.25rem;\n --font-size-5xl: 3rem;\n --font-size-6xl: 3.75rem;\n --font-size-7xl: 4.5rem;\n --font-size-8xl: 6rem;\n --font-size-9xl: 8rem;\n --font-weight-thin: 100;\n --font-weight-extralight: 200;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n}\n:root {\n --background: var(--bg-vanilla-200);\n --foreground: var(--text-ink-400);\n --card: var(--bg-vanilla-100);\n --card-foreground: var(--text-ink-400);\n --popover: var(--bg-vanilla-100);\n --popover-foreground: var(--text-ink-400);\n --primary: var(--bg-robin-500);\n --primary-foreground: var(--text-vanilla-100);\n --secondary: var(--bg-vanilla-300);\n --secondary-foreground: var(--text-slate-400);\n --muted: var(--bg-vanilla-300);\n --muted-foreground: var(--text-slate-50);\n --accent: var(--bg-aqua-100);\n --accent-foreground: var(--text-slate-400);\n --destructive: var(--bg-cherry-500);\n --destructive-foreground: var(--text-vanilla-100);\n --border: var(--bg-slate-400);\n --input: var(--bg-slate-400);\n --ring: var(--bg-robin-500);\n --chart-1: var(--bg-robin-500);\n --chart-2: var(--bg-robin-600);\n --chart-3: var(--bg-slate-300);\n --chart-4: var(--bg-slate-400);\n --chart-5: var(--bg-slate-500);\n --radius: 0.25rem;\n --sidebar: var(--bg-vanilla-300);\n --sidebar-foreground: var(--text-ink-400);\n --sidebar-primary: var(--bg-robin-500);\n --sidebar-primary-foreground: var(--text-vanilla-100);\n --sidebar-accent: var(--bg-aqua-100);\n --sidebar-accent-foreground: var(--text-slate-400);\n --sidebar-border: var(--bg-slate-400);\n --sidebar-ring: var(--bg-robin-500);\n --font-sans: "Inter";\n --font-serif: "Open Sans";\n --font-mono: "Geist Mono";\n}\n.dark {\n --background: var(--bg-ink-500);\n --foreground: var(--text-vanilla-400);\n --card: var(--bg-ink-400);\n --card-foreground: var(--text-vanilla-100);\n --popover: var(--bg-ink-400);\n --popover-foreground: var(--text-vanilla-100);\n --primary: var(--bg-robin-500);\n --primary-foreground: var(--text-ink-500);\n --secondary: var(--bg-slate-500);\n --secondary-foreground: var(--text-vanilla-400);\n --muted: var(--bg-slate-500);\n --muted-foreground: var(--text-vanilla-400);\n --accent: var(--bg-slate-300);\n --accent-foreground: var(--text-vanilla-100);\n --destructive: var(--bg-cherry-500);\n --destructive-foreground: var(--text-ink-500);\n --border: var(--bg-slate-400);\n --input: var(--bg-slate-300);\n --ring: var(--bg-robin-500);\n --chart-1: var(--bg-robin-400);\n --chart-2: var(--bg-robin-500);\n --chart-3: var(--bg-robin-600);\n --chart-4: var(--bg-slate-200);\n --chart-5: var(--bg-slate-300);\n --sidebar: var(--bg-slate-500);\n --sidebar-foreground: var(--text-vanilla-400);\n --sidebar-primary: var(--bg-robin-500);\n --sidebar-primary-foreground: var(--text-ink-500);\n --sidebar-accent: var(--bg-slate-400);\n --sidebar-accent-foreground: var(--text-vanilla-400);\n --sidebar-border: var(--bg-slate-500);\n --sidebar-ring: var(--bg-robin-500);\n}\n@layer base {\n * {\n border-color: var(--color-border);\n outline-color: var(--color-ring);\n @supports (color: color-mix(in lab, red, red)) {\n outline-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n body {\n background-color: var(--color-background);\n color: var(--color-foreground);\n }\n}\n[data-theme-color=blue] {\n --primary: var(--bg-robin-500);\n --primary-foreground: var(--text-vanilla-100);\n --ring: var(--bg-robin-500);\n --sidebar-primary: var(--bg-robin-500);\n --sidebar-ring: var(--bg-robin-500);\n}\n.dark[data-theme-color=blue] {\n --primary: var(--bg-robin-400);\n --primary-foreground: var(--text-ink-500);\n --ring: var(--bg-robin-400);\n --sidebar-primary: var(--bg-robin-400);\n --sidebar-ring: var(--bg-robin-400);\n}\n[data-theme-color=green] {\n --primary: var(--bg-forest-500);\n --primary-foreground: var(--text-vanilla-100);\n --ring: var(--bg-forest-500);\n --sidebar-primary: var(--bg-forest-500);\n --sidebar-ring: var(--bg-forest-500);\n}\n.dark[data-theme-color=green] {\n --primary: var(--bg-forest-400);\n --primary-foreground: var(--text-ink-500);\n --ring: var(--bg-forest-400);\n --sidebar-primary: var(--bg-forest-400);\n --sidebar-ring: var(--bg-forest-400);\n}\n[data-theme-color=amber] {\n --primary: var(--bg-amber-500);\n --primary-foreground: var(--text-vanilla-100);\n --ring: var(--bg-amber-500);\n --sidebar-primary: var(--bg-amber-500);\n --sidebar-ring: var(--bg-amber-500);\n}\n.dark[data-theme-color=amber] {\n --primary: var(--bg-amber-400);\n --primary-foreground: var(--text-ink-500);\n --ring: var(--bg-amber-400);\n --sidebar-primary: var(--bg-amber-400);\n --sidebar-ring: var(--bg-amber-400);\n}\n[data-theme-color=cherry] {\n --primary: var(--bg-cherry-500);\n --primary-foreground: var(--text-vanilla-100);\n --ring: var(--bg-cherry-500);\n --sidebar-primary: var(--bg-cherry-500);\n --sidebar-ring: var(--bg-cherry-500);\n}\n.dark[data-theme-color=cherry] {\n --primary: var(--bg-cherry-400);\n --primary-foreground: var(--text-ink-500);\n --ring: var(--bg-cherry-400);\n --sidebar-primary: var(--bg-cherry-400);\n --sidebar-ring: var(--bg-cherry-400);\n}\n[data-theme-color=aqua] {\n --primary: var(--bg-aqua-500);\n --primary-foreground: var(--text-vanilla-100);\n --ring: var(--bg-aqua-500);\n --sidebar-primary: var(--bg-aqua-500);\n --sidebar-ring: var(--bg-aqua-500);\n}\n.dark[data-theme-color=aqua] {\n --primary: var(--bg-aqua-400);\n --primary-foreground: var(--text-ink-500);\n --ring: var(--bg-aqua-400);\n --sidebar-primary: var(--bg-aqua-400);\n --sidebar-ring: var(--bg-aqua-400);\n}\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n }\n }\n}\n');
|
|
63
|
+
function cn(...inputs) {
|
|
64
|
+
return twMerge(clsx(inputs));
|
|
65
|
+
}
|
|
66
|
+
function Drawer(_a) {
|
|
67
|
+
var props = __objRest(_a, []);
|
|
68
|
+
return /* @__PURE__ */ jsx(Drawer$1.Root, __spreadValues({ "data-slot": "drawer" }, props));
|
|
69
|
+
}
|
|
70
|
+
function DrawerTrigger(_a) {
|
|
71
|
+
var props = __objRest(_a, []);
|
|
72
|
+
return /* @__PURE__ */ jsx(Drawer$1.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
|
|
73
|
+
}
|
|
74
|
+
function DrawerPortal(_a) {
|
|
75
|
+
var props = __objRest(_a, []);
|
|
76
|
+
return /* @__PURE__ */ jsx(Drawer$1.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
|
|
77
|
+
}
|
|
78
|
+
function DrawerClose(_a) {
|
|
79
|
+
var props = __objRest(_a, []);
|
|
80
|
+
return /* @__PURE__ */ jsx(Drawer$1.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
|
|
81
|
+
}
|
|
82
|
+
function DrawerOverlay(_a) {
|
|
83
|
+
var _b = _a, {
|
|
84
|
+
className
|
|
85
|
+
} = _b, props = __objRest(_b, [
|
|
86
|
+
"className"
|
|
87
|
+
]);
|
|
88
|
+
return /* @__PURE__ */ jsx(
|
|
89
|
+
Drawer$1.Overlay,
|
|
90
|
+
__spreadValues({
|
|
91
|
+
"data-slot": "drawer-overlay",
|
|
92
|
+
className: cn(
|
|
93
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
94
|
+
className
|
|
95
|
+
)
|
|
96
|
+
}, props)
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
function DrawerContent(_a) {
|
|
100
|
+
var _b = _a, {
|
|
101
|
+
className,
|
|
102
|
+
children,
|
|
103
|
+
showOverlay = true
|
|
104
|
+
} = _b, props = __objRest(_b, [
|
|
105
|
+
"className",
|
|
106
|
+
"children",
|
|
107
|
+
"showOverlay"
|
|
108
|
+
]);
|
|
109
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
110
|
+
showOverlay && /* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
111
|
+
/* @__PURE__ */ jsxs(
|
|
112
|
+
Drawer$1.Content,
|
|
113
|
+
__spreadProps(__spreadValues({
|
|
114
|
+
"data-slot": "drawer-content",
|
|
115
|
+
className: cn(
|
|
116
|
+
"group/drawer-content bg-card fixed z-50 flex h-auto flex-col shadow-lg",
|
|
117
|
+
"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
|
|
118
|
+
"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
|
|
119
|
+
"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
120
|
+
"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
|
|
121
|
+
"border border-vanilla-300 dark:border-slate-500 rounded-md",
|
|
122
|
+
className
|
|
123
|
+
)
|
|
124
|
+
}, props), {
|
|
125
|
+
children: [
|
|
126
|
+
/* @__PURE__ */ jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
127
|
+
children
|
|
128
|
+
]
|
|
129
|
+
})
|
|
130
|
+
)
|
|
131
|
+
] });
|
|
132
|
+
}
|
|
133
|
+
function DrawerHeader(_a) {
|
|
134
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
135
|
+
return /* @__PURE__ */ jsx(
|
|
136
|
+
"div",
|
|
137
|
+
__spreadValues({
|
|
138
|
+
"data-slot": "drawer-header",
|
|
139
|
+
className: cn("flex flex-col gap-1.5 p-4", className)
|
|
140
|
+
}, props)
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
function DrawerFooter(_a) {
|
|
144
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
"div",
|
|
147
|
+
__spreadValues({
|
|
148
|
+
"data-slot": "drawer-footer",
|
|
149
|
+
className: cn("mt-auto flex flex-col gap-2 p-4", className)
|
|
150
|
+
}, props)
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
function DrawerTitle(_a) {
|
|
154
|
+
var _b = _a, {
|
|
155
|
+
className
|
|
156
|
+
} = _b, props = __objRest(_b, [
|
|
157
|
+
"className"
|
|
158
|
+
]);
|
|
159
|
+
return /* @__PURE__ */ jsx(
|
|
160
|
+
Drawer$1.Title,
|
|
161
|
+
__spreadValues({
|
|
162
|
+
"data-slot": "drawer-title",
|
|
163
|
+
className: cn("text-foreground font-semibold", className)
|
|
164
|
+
}, props)
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
function DrawerDescription(_a) {
|
|
168
|
+
var _b = _a, {
|
|
169
|
+
className
|
|
170
|
+
} = _b, props = __objRest(_b, [
|
|
171
|
+
"className"
|
|
172
|
+
]);
|
|
173
|
+
return /* @__PURE__ */ jsx(
|
|
174
|
+
Drawer$1.Description,
|
|
175
|
+
__spreadValues({
|
|
176
|
+
"data-slot": "drawer-description",
|
|
177
|
+
className: cn("text-muted-foreground text-sm", className)
|
|
178
|
+
}, props)
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
function DrawerWrapper({
|
|
182
|
+
trigger,
|
|
183
|
+
header,
|
|
184
|
+
content,
|
|
185
|
+
footer,
|
|
186
|
+
direction = "right",
|
|
187
|
+
showCloseButton = true,
|
|
188
|
+
allowOutsideClick = true,
|
|
189
|
+
showOverlay = true,
|
|
190
|
+
className
|
|
191
|
+
}) {
|
|
192
|
+
return /* @__PURE__ */ jsxs(Drawer, { direction, modal: allowOutsideClick, children: [
|
|
193
|
+
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: trigger }),
|
|
194
|
+
/* @__PURE__ */ jsx(DrawerContent, { className, showOverlay, children: /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-sm", children: [
|
|
195
|
+
header && /* @__PURE__ */ jsxs("div", { className: "flex h-12 items-center justify-between border-b border-vanilla-300 dark:border-slate-500 px-6", children: [
|
|
196
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx(DrawerTitle, { className: "font-inter text-sm font-normal", children: header.title }) }),
|
|
197
|
+
showCloseButton && /* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: "rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
|
|
198
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
199
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
200
|
+
] }) })
|
|
201
|
+
] }),
|
|
202
|
+
/* @__PURE__ */ jsx(DrawerHeader, { children: (header == null ? void 0 : header.description) && /* @__PURE__ */ jsx(DrawerDescription, { children: header.description }) }),
|
|
203
|
+
content,
|
|
204
|
+
footer && /* @__PURE__ */ jsx(DrawerFooter, { children: footer })
|
|
205
|
+
] }) })
|
|
206
|
+
] });
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DrawerWrapper };
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@signozhq/drawer",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/drawer.d.ts",
|
|
9
|
+
"import": "./dist/drawer.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"main": "./dist/drawer.js",
|
|
13
|
+
"module": "./dist/drawer.js",
|
|
14
|
+
"types": "./dist/drawer.d.ts",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@tailwindcss/postcss": "^4.1.3",
|
|
20
|
+
"@types/node": "^22.5.5",
|
|
21
|
+
"@types/react": "^18.2.61",
|
|
22
|
+
"@types/react-dom": "^18.2.19",
|
|
23
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
24
|
+
"eslint": "^9.11.0",
|
|
25
|
+
"postcss": "^8.4.47",
|
|
26
|
+
"react-dom": "^18.2.0",
|
|
27
|
+
"tailwindcss": "^4.1.3",
|
|
28
|
+
"tsup": "^8.0.0",
|
|
29
|
+
"typescript": "^5.3.3",
|
|
30
|
+
"@repo/eslint-config": "0.0.0",
|
|
31
|
+
"@signozhq/tailwind-config": "0.0.0",
|
|
32
|
+
"@repo/typescript-config": "0.0.0"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@radix-ui/react-dialog": "^1.1.11",
|
|
36
|
+
"@radix-ui/react-icons": "^1.3.0",
|
|
37
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
38
|
+
"class-variance-authority": "^0.7.0",
|
|
39
|
+
"clsx": "^2.1.1",
|
|
40
|
+
"lucide-react": "^0.445.0",
|
|
41
|
+
"react": "^18.2.0",
|
|
42
|
+
"tailwind-merge": "^2.5.2",
|
|
43
|
+
"tailwindcss-animate": "^1.0.7",
|
|
44
|
+
"vaul": "^1.1.2"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"description": "side drawer component",
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "tsup",
|
|
52
|
+
"dev": "tsup --watch",
|
|
53
|
+
"lint": "eslint . --max-warnings 0",
|
|
54
|
+
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
|
|
55
|
+
}
|
|
56
|
+
}
|