@m5kdev/web-ui 0.2.0 → 0.3.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/src/components/AvatarUpload.js +4 -4
- package/dist/src/components/CardsSelect.js +2 -2
- package/dist/src/components/CollapsibleSidebarMenuItem.js +2 -2
- package/dist/src/components/CropDialog.js +3 -3
- package/dist/src/components/FileDropzone.js +3 -3
- package/dist/src/components/MultiSelectDropdown.js +3 -3
- package/dist/src/components/PageAlert.d.ts +1 -1
- package/dist/src/components/PageAlert.js +1 -1
- package/dist/src/components/SidebarItem.js +1 -1
- package/dist/src/components/Steps.js +3 -3
- package/dist/src/components/app-header.js +3 -3
- package/dist/src/components/blur-card.js +2 -2
- package/dist/src/components/features-section-demo-2.js +1 -1
- package/dist/src/components/features-section-demo-3.js +1 -1
- package/dist/src/components/mode-toggle.js +3 -3
- package/dist/src/components/nav-main.js +2 -2
- package/dist/src/components/pricing-cards.js +3 -3
- package/dist/src/components/shared/ButtonCopy.d.ts +1 -1
- package/dist/src/components/shared/ButtonCopy.js +2 -2
- package/dist/src/components/team-switcher.js +2 -2
- package/dist/src/components/ui/alert-dialog.js +2 -2
- package/dist/src/components/ui/alert.js +1 -1
- package/dist/src/components/ui/avatar.js +1 -1
- package/dist/src/components/ui/badge.d.ts +1 -1
- package/dist/src/components/ui/badge.js +1 -1
- package/dist/src/components/ui/bento-grid.js +1 -1
- package/dist/src/components/ui/bento-grid2.js +2 -2
- package/dist/src/components/ui/breadcrumb.js +1 -1
- package/dist/src/components/ui/button.d.ts +1 -1
- package/dist/src/components/ui/button.js +1 -1
- package/dist/src/components/ui/card.js +1 -1
- package/dist/src/components/ui/checkbox.js +1 -1
- package/dist/src/components/ui/dialog.js +1 -1
- package/dist/src/components/ui/dropdown-menu.js +1 -1
- package/dist/src/components/ui/floating-navbar.js +1 -1
- package/dist/src/components/ui/form.js +2 -2
- package/dist/src/components/ui/image.js +1 -1
- package/dist/src/components/ui/input.js +1 -1
- package/dist/src/components/ui/label.js +1 -1
- package/dist/src/components/ui/pagination.d.ts +1 -1
- package/dist/src/components/ui/pagination.js +2 -2
- package/dist/src/components/ui/progress.js +1 -1
- package/dist/src/components/ui/resizable-navbar.js +1 -1
- package/dist/src/components/ui/segment-control.js +2 -2
- package/dist/src/components/ui/select.js +1 -1
- package/dist/src/components/ui/separator.js +1 -1
- package/dist/src/components/ui/sheet.d.ts +1 -1
- package/dist/src/components/ui/sheet.js +1 -1
- package/dist/src/components/ui/sidebar.d.ts +3 -3
- package/dist/src/components/ui/sidebar.js +8 -8
- package/dist/src/components/ui/skeleton.js +1 -1
- package/dist/src/components/ui/slider.js +1 -1
- package/dist/src/components/ui/spinner.js +1 -1
- package/dist/src/components/ui/switch.js +1 -1
- package/dist/src/components/ui/table.js +1 -1
- package/dist/src/components/ui/tabs.js +1 -1
- package/dist/src/components/ui/textarea.js +1 -1
- package/dist/src/components/ui/toast.js +1 -1
- package/dist/src/components/ui/tooltip.js +1 -1
- package/dist/src/components/ui/typewriter-effect.js +1 -1
- package/dist/src/hooks/useDialog.d.ts +1 -1
- package/dist/src/hooks/useDialog.js +1 -1
- package/dist/src/modules/app/components/AppShell.d.ts +1 -1
- package/dist/src/modules/app/components/AppShell.js +1 -1
- package/dist/src/modules/app/components/AppSidebar.js +1 -1
- package/dist/src/modules/app/components/AppSidebarContent.js +2 -2
- package/dist/src/modules/app/components/AppSidebarUser.js +3 -3
- package/dist/src/modules/auth/components/AdminUserManagement.d.ts +1 -1
- package/dist/src/modules/auth/components/AdminWaitlist.d.ts +1 -1
- package/dist/src/modules/auth/components/AuthProviders.js +3 -3
- package/dist/src/modules/auth/components/AuthRouter.d.ts +1 -1
- package/dist/src/modules/auth/components/AuthRouter.js +7 -7
- package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +1 -1
- package/dist/src/modules/auth/components/ClaimAccountRoute.js +3 -3
- package/dist/src/modules/auth/components/ForgotPasswordRoute.js +1 -1
- package/dist/src/modules/auth/components/InviteFriends.d.ts +1 -1
- package/dist/src/modules/auth/components/InviteFriends.js +1 -1
- package/dist/src/modules/auth/components/LastUsedBadge.d.ts +1 -1
- package/dist/src/modules/auth/components/OrganizationSwitcher.js +2 -2
- package/dist/src/modules/auth/components/ProfileRoute.js +2 -2
- package/dist/src/modules/auth/components/ResetPasswordRoute.js +1 -1
- package/dist/src/modules/auth/components/SignupRoute.d.ts +1 -1
- package/dist/src/modules/auth/components/SignupRoute.js +1 -1
- package/dist/src/modules/auth/components/WaitlistCard.d.ts +1 -1
- package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +1 -1
- package/dist/src/modules/billing/components/BillingBetaPage.js +4 -4
- package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +1 -1
- package/dist/src/modules/billing/components/BillingPlanSelect.js +1 -1
- package/dist/src/modules/billing/components/BillingRouter.d.ts +1 -1
- package/dist/src/modules/billing/components/BillingRouter.js +1 -1
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.js +3 -3
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.js +1 -1
- package/dist/src/modules/table/components/NuqsTable.js +2 -2
- package/dist/src/modules/table/components/TableFiltering.js +1 -1
- package/dist/src/modules/table/components/TablePagination.js +2 -2
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +5 -22
|
@@ -3,10 +3,10 @@ import { useFileUpload } from "@m5kdev/frontend/modules/file/hooks/useUpload";
|
|
|
3
3
|
import { Edit2, User } from "lucide-react";
|
|
4
4
|
import { useRef, useState } from "react";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
|
-
import { CropDialog } from "
|
|
7
|
-
import { Avatar, AvatarFallback, AvatarImage } from "
|
|
8
|
-
import { Progress } from "
|
|
9
|
-
import { cn } from "
|
|
6
|
+
import { CropDialog } from "./CropDialog";
|
|
7
|
+
import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar";
|
|
8
|
+
import { Progress } from "./ui/progress";
|
|
9
|
+
import { cn } from "../lib/utils";
|
|
10
10
|
export function AvatarUpload({ currentAvatarUrl, onUploadComplete, className }) {
|
|
11
11
|
const { t } = useTranslation();
|
|
12
12
|
const [isHovered, setIsHovered] = useState(false);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Check, Edit } from "lucide-react";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "
|
|
5
|
-
import { cn } from "
|
|
4
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card";
|
|
5
|
+
import { cn } from "../lib/utils";
|
|
6
6
|
const CardsSelect = React.forwardRef(({ items, selectedIds, onSelectionChange, maxSelections, className, cardClassName, showCheckbox = true, disabled = false, reversed = false, ...props }, ref) => {
|
|
7
7
|
const handleCardClick = (itemId) => {
|
|
8
8
|
if (disabled)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ChevronRight } from "lucide-react";
|
|
3
3
|
import { Link } from "react-router";
|
|
4
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "
|
|
5
|
-
import { SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, useSidebar, } from "
|
|
4
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./ui/collapsible";
|
|
5
|
+
import { SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, useSidebar, } from "./ui/sidebar";
|
|
6
6
|
export function CollapsibleSidebarMenuItem({ children, label, icon, link, badge, ...props }) {
|
|
7
7
|
const { open } = useSidebar();
|
|
8
8
|
if (!open)
|
|
@@ -3,9 +3,9 @@ import { ZoomIn, ZoomOut } from "lucide-react";
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import Cropper, {} from "react-easy-crop";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "
|
|
8
|
-
import { Slider } from "
|
|
6
|
+
import { Button } from "./ui/button";
|
|
7
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "./ui/dialog";
|
|
8
|
+
import { Slider } from "./ui/slider";
|
|
9
9
|
async function getCroppedImg(imageSrc, pixelCrop, t) {
|
|
10
10
|
const image = new Image();
|
|
11
11
|
image.src = imageSrc;
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { File, Upload, X } from "lucide-react";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { useDropzone } from "react-dropzone";
|
|
5
|
-
import { Button } from "
|
|
6
|
-
import { Progress } from "
|
|
7
|
-
import { cn } from "
|
|
5
|
+
import { Button } from "./ui/button";
|
|
6
|
+
import { Progress } from "./ui/progress";
|
|
7
|
+
import { cn } from "../lib/utils";
|
|
8
8
|
export function FileDropzone({ onUploadComplete, className }) {
|
|
9
9
|
const [uploadProgress, setUploadProgress] = useState(0);
|
|
10
10
|
const [selectedFile, setSelectedFile] = useState(null);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ChevronDown, RotateCcw } from "lucide-react";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "
|
|
6
|
-
import { cn } from "
|
|
4
|
+
import { Button } from "./ui/button";
|
|
5
|
+
import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "./ui/dropdown-menu";
|
|
6
|
+
import { cn } from "../lib/utils";
|
|
7
7
|
const MultiSelectDropdown = React.forwardRef(({ options, selectedValues, onValueChange, placeholder = "Select items...", label, className, triggerClassName, trigger, multiSelectLabel, disabled = false, maxDisplayCount = 3, resetButton = "bottom", resetLabel = "Reset", separateGroups = false, ...props }, ref) => {
|
|
8
8
|
const handleValueChange = (value, checked) => {
|
|
9
9
|
if (checked) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const pageAlertVariants: (props?: ({
|
|
4
|
-
variant?: "
|
|
4
|
+
variant?: "default" | "destructive" | "success" | "warning" | "info" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
interface PageAlertProps extends React.ComponentProps<"div">, VariantProps<typeof pageAlertVariants> {
|
|
7
7
|
title?: string;
|
|
@@ -3,7 +3,7 @@ import { cva } from "class-variance-authority";
|
|
|
3
3
|
import { AlertCircle, AlertTriangle, CheckCircle, Info, X } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
|
-
import { cn } from "
|
|
6
|
+
import { cn } from "../lib/utils";
|
|
7
7
|
const pageAlertVariants = cva("relative w-full border-b px-4 py-3 text-sm transition-all duration-300 ease-in-out", {
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link } from "react-router";
|
|
3
|
-
import { SidebarMenuButton, SidebarMenuItem } from "
|
|
3
|
+
import { SidebarMenuButton, SidebarMenuItem } from "./ui/sidebar";
|
|
4
4
|
export function SidebarItem({ label, icon, link, badge, }) {
|
|
5
5
|
return (_jsx(SidebarMenuItem, { children: _jsx(SidebarMenuButton, { asChild: true, tooltip: label, children: _jsxs(Link, { to: link, children: [icon, badge ? badge : _jsx("span", { children: label })] }) }) }));
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Check } from "lucide-react";
|
|
3
|
-
import { Badge } from "
|
|
4
|
-
import { Separator } from "
|
|
5
|
-
import { cn } from "
|
|
3
|
+
import { Badge } from "./ui/badge";
|
|
4
|
+
import { Separator } from "./ui/separator";
|
|
5
|
+
import { cn } from "../lib/utils";
|
|
6
6
|
export const Steps = ({ steps, className, onStepClick }) => {
|
|
7
7
|
return (_jsxs("nav", { "aria-label": "Progress", className: cn("w-full", className), children: [_jsx("ol", { className: "lg:hidden space-y-6", children: steps.map((step, stepIdx) => (_jsxs("li", { className: "relative", children: [_jsxs("div", { className: "flex items-start", children: [_jsx("div", { className: "flex-shrink-0", children: step.status === "completed" ? (_jsx("button", { type: "button", onClick: () => onStepClick?.(stepIdx), children: _jsx(Badge, { variant: "default", className: "h-10 w-10 rounded-full p-0 flex items-center justify-center", children: _jsx(Check, { className: "h-5 w-5" }) }) })) : step.status === "current" ? (_jsx(Badge, { variant: "default", className: "h-10 w-10 rounded-full p-0 flex items-center justify-center text-sm font-medium", children: stepIdx + 1 })) : (_jsx(Badge, { variant: "outline", className: "h-10 w-10 rounded-full p-0 flex items-center justify-center text-sm font-medium bg-background", children: stepIdx + 1 })) }), _jsxs("div", { className: "ml-4 min-w-0 flex-1", children: [_jsx("p", { className: cn("text-sm font-medium", step.status === "completed" || step.status === "current"
|
|
8
8
|
? "text-foreground"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment } from "react";
|
|
3
|
-
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "
|
|
4
|
-
import { Separator } from "
|
|
5
|
-
import { SidebarTrigger } from "
|
|
3
|
+
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "./ui/breadcrumb";
|
|
4
|
+
import { Separator } from "./ui/separator";
|
|
5
|
+
import { SidebarTrigger } from "./ui/sidebar";
|
|
6
6
|
export function AppHeader({ breadcrumbs }) {
|
|
7
7
|
return (_jsx("header", { className: "flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12", children: _jsxs("div", { className: "flex items-center gap-2 px-4", children: [_jsx(SidebarTrigger, { className: "-ml-1" }), _jsx(Separator, { orientation: "vertical", className: "mr-2 h-4" }), _jsx(Breadcrumb, { children: _jsx(BreadcrumbList, { children: breadcrumbs.map(({ href, label }, index) => (_jsxs(Fragment, { children: [_jsx(BreadcrumbItem, { children: href ? (_jsx(BreadcrumbLink, { href: href, children: label })) : (_jsx(BreadcrumbPage, { children: label })) }), index < breadcrumbs.length - 1 && (_jsx(BreadcrumbSeparator, { className: "hidden md:block" }))] }, `${label}-${index}`))) }) })] }) }));
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { motion } from "motion/react";
|
|
3
3
|
import { useState } from "react";
|
|
4
|
-
import { Card } from "
|
|
5
|
-
import { cn } from "
|
|
4
|
+
import { Card } from "./ui/card";
|
|
5
|
+
import { cn } from "../lib/utils";
|
|
6
6
|
function BlurCardHeader({ title, subtitle, type, date, }) {
|
|
7
7
|
return (_jsxs("div", { className: "w-full px-4 py-4", children: [_jsxs("div", { className: "hidden lg:block", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-lg font-semibold text-white drop-shadow-md", children: title }), _jsx("span", { className: "inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md", children: type })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-neutral-300 drop-shadow-md", children: subtitle }), _jsx("span", { className: "text-xs text-neutral-300 drop-shadow-md italic", children: date })] })] }), _jsxs("div", { className: "block lg:hidden", children: [_jsx("div", { className: "inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md", children: type }), _jsx("div", { className: "text-lg font-semibold text-white drop-shadow-md", children: title }), _jsx("div", { className: "text-sm text-neutral-300 drop-shadow-md", children: subtitle }), _jsx("div", { className: "text-xs text-neutral-300 drop-shadow-md italic", children: date })] })] }));
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { IconBlocks, IconBooks, IconCode, IconMicroscope, IconRocket, IconSchool, IconUser, IconWriting, } from "@tabler/icons-react";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
4
|
export default function FeaturesSectionDemo() {
|
|
5
5
|
const features = [
|
|
6
6
|
{
|
|
@@ -3,7 +3,7 @@ import { IconBrandYoutubeFilled } from "@tabler/icons-react";
|
|
|
3
3
|
import createGlobe from "cobe";
|
|
4
4
|
import { motion } from "motion/react";
|
|
5
5
|
import { useEffect, useRef } from "react";
|
|
6
|
-
import { cn } from "
|
|
6
|
+
import { cn } from "../lib/utils";
|
|
7
7
|
export default function FeaturesSectionDemo() {
|
|
8
8
|
const features = [
|
|
9
9
|
{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Moon, Sun } from "lucide-react";
|
|
3
|
-
import { useTheme } from "
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "
|
|
3
|
+
import { useTheme } from "./theme-provider";
|
|
4
|
+
import { Button } from "./ui/button";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "./ui/dropdown-menu";
|
|
6
6
|
export function ModeToggle() {
|
|
7
7
|
const { setTheme } = useTheme();
|
|
8
8
|
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "icon", children: [_jsx(Sun, { className: "h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }), _jsx(Moon, { className: "absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }), _jsx("span", { className: "sr-only", children: "Toggle theme" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuItem, { onClick: () => setTheme("light"), children: "Light" }), _jsx(DropdownMenuItem, { onClick: () => setTheme("dark"), children: "Dark" }), _jsx(DropdownMenuItem, { onClick: () => setTheme("system"), children: "System" })] })] }));
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronRight } from "lucide-react";
|
|
4
4
|
import { Link } from "react-router";
|
|
5
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "
|
|
6
|
-
import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "
|
|
5
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./ui/collapsible";
|
|
6
|
+
import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "./ui/sidebar";
|
|
7
7
|
export function NavMain({ items, }) {
|
|
8
8
|
return (_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { children: "Platform" }), _jsx(SidebarMenu, { children: items.map((item) => (_jsx(Collapsible, { asChild: true, defaultOpen: item.isActive, className: "group/collapsible", children: _jsxs(SidebarMenuItem, { children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { tooltip: item.title, children: [item.icon && _jsx(item.icon, {}), _jsx("span", { children: item.title }), _jsx(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })] }) }), _jsx(CollapsibleContent, { children: _jsx(SidebarMenuSub, { children: item.items?.map((subItem) => (_jsx(SidebarMenuSubItem, { children: _jsx(SidebarMenuSubButton, { asChild: true, children: _jsx(Link, { to: subItem.url, children: _jsx("span", { children: subItem.title }) }) }) }, subItem.title))) }) })] }) }, item.title))) })] }));
|
|
9
9
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Check, MoveRight, PhoneCall } from "lucide-react";
|
|
3
|
-
import { Badge } from "
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "
|
|
3
|
+
import { Badge } from "./ui/badge";
|
|
4
|
+
import { Button } from "./ui/button";
|
|
5
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card";
|
|
6
6
|
function PricingCard({ title, description, price, features, highlighted = false, ctaText, ctaIcon: CtaIcon, variant = "outline", }) {
|
|
7
7
|
const Icon = CtaIcon;
|
|
8
8
|
return (_jsxs(Card, { className: `w-full rounded-md ${highlighted ? "shadow-2xl" : ""}`, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: _jsx("span", { className: "flex flex-row gap-4 items-center font-normal", children: title }) }), _jsx(CardDescription, { children: description })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col gap-8 justify-start", children: [_jsxs("p", { className: "flex flex-row items-center gap-2 text-xl", children: [_jsxs("span", { className: "text-4xl", children: ["$", price] }), _jsx("span", { className: "text-sm text-muted-foreground", children: " / month" })] }), _jsx("div", { className: "flex flex-col gap-4 justify-start", children: features.map((feature, index) => (_jsxs("div", { className: "flex flex-row gap-4", children: [_jsx(Check, { className: "w-4 h-4 mt-2 text-primary" }), _jsxs("div", { className: "flex flex-col", children: [_jsx("p", { children: feature.title }), _jsx("p", { className: "text-muted-foreground text-sm", children: feature.description })] })] }, index))) }), _jsxs(Button, { variant: variant, className: "gap-4", children: [ctaText, " ", _jsx(Icon, { className: "w-4 h-4" })] })] }) })] }));
|
|
@@ -3,8 +3,8 @@ import { CheckCircle, Copy } from "lucide-react";
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import { toast } from "sonner";
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import { cn } from "
|
|
6
|
+
import { Button } from "../ui/button";
|
|
7
|
+
import { cn } from "../../lib/utils";
|
|
8
8
|
export function ButtonCopy({ text, notificationTimeout = 1000, iconOnly = false, ...props }) {
|
|
9
9
|
const { t } = useTranslation();
|
|
10
10
|
const [isCopied, setIsCopied] = useState(false);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ChevronsUpDown, Plus } from "lucide-react";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "
|
|
5
|
-
import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "
|
|
4
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "./ui/dropdown-menu";
|
|
5
|
+
import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "./ui/sidebar";
|
|
6
6
|
export function TeamSwitcher({ teams, }) {
|
|
7
7
|
const { isMobile } = useSidebar();
|
|
8
8
|
const [activeTeam, setActiveTeam] = React.useState(teams[0]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
3
|
-
import { buttonVariants } from "
|
|
4
|
-
import { cn } from "
|
|
3
|
+
import { buttonVariants } from "./button";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
function AlertDialog({ ...props }) {
|
|
6
6
|
return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cva } from "class-variance-authority";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
const alertVariants = cva("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
|
|
5
5
|
variants: {
|
|
6
6
|
variant: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const Avatar = React.forwardRef(({ className, ...props }, ref) => (_jsx(AvatarPrimitive.Root, { ref: ref, className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className), ...props })));
|
|
7
7
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
8
8
|
const AvatarImage = React.forwardRef(({ className, ...props }, ref) => (_jsx(AvatarPrimitive.Image, { ref: ref, className: cn("aspect-square h-full w-full", className), ...props })));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import type * as React from "react";
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "
|
|
4
|
+
variant?: "outline" | "default" | "destructive" | "secondary" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cva } from "class-variance-authority";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
const badgeVariants = cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
|
|
5
5
|
variants: {
|
|
6
6
|
variant: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "
|
|
2
|
+
import { cn } from "../../lib/utils";
|
|
3
3
|
export const BentoGrid = ({ className, children, }) => {
|
|
4
4
|
return (_jsx("div", { className: cn("mx-auto grid max-w-7xl grid-cols-1 gap-4 md:auto-rows-[20rem] md:grid-cols-4", className), children: children }));
|
|
5
5
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { IconArrowRight } from "@tabler/icons-react";
|
|
3
|
-
import { Button } from "
|
|
4
|
-
import { cn } from "
|
|
3
|
+
import { Button } from "./button";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
const BentoGrid = ({ children, className }) => {
|
|
6
6
|
return (_jsx("div", { className: cn("grid w-full auto-rows-[22rem] grid-cols-3 gap-4", className), children: children }));
|
|
7
7
|
};
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Slot } from "@radix-ui/react-slot";
|
|
3
3
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const Breadcrumb = React.forwardRef(({ ...props }, ref) => _jsx("nav", { ref: ref, "aria-label": "breadcrumb", ...props }));
|
|
7
7
|
Breadcrumb.displayName = "Breadcrumb";
|
|
8
8
|
const BreadcrumbList = React.forwardRef(({ className, ...props }, ref) => (_jsx("ol", { ref: ref, className: cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", className), ...props })));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
|
-
variant?: "
|
|
4
|
+
variant?: "outline" | "link" | "default" | "destructive" | "secondary" | "ghost" | null | undefined;
|
|
5
5
|
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Slot } from "@radix-ui/react-slot";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
|
|
7
7
|
variants: {
|
|
8
8
|
variant: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("rounded-xl border bg-card text-card-foreground shadow", className), ...props })));
|
|
5
5
|
Card.displayName = "Card";
|
|
6
6
|
const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })));
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
3
3
|
import { Check } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const Checkbox = React.forwardRef(({ className, ...props }, ref) => (_jsx(CheckboxPrimitive.Root, { ref: ref, className: cn("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: _jsx(Check, { className: "h-4 w-4" }) }) })));
|
|
7
7
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
8
8
|
export { Checkbox };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
3
3
|
import { XIcon } from "lucide-react";
|
|
4
|
-
import { cn } from "
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
function Dialog({ ...props }) {
|
|
6
6
|
return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
3
3
|
import { Check, ChevronRight, Circle } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const DropdownMenu = DropdownMenuPrimitive.Root;
|
|
7
7
|
const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
8
8
|
const DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { AnimatePresence, motion, useMotionValueEvent, useScroll } from "motion/react";
|
|
4
4
|
import { useState } from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
export const FloatingNav = ({ navItems, className, }) => {
|
|
7
7
|
const { scrollYProgress } = useScroll();
|
|
8
8
|
const [visible, setVisible] = useState(true);
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Slot } from "@radix-ui/react-slot";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { Controller, FormProvider, useFormContext, } from "react-hook-form";
|
|
5
|
-
import { Label } from "
|
|
6
|
-
import { cn } from "
|
|
5
|
+
import { Label } from "./label";
|
|
6
|
+
import { cn } from "../../lib/utils";
|
|
7
7
|
const Form = FormProvider;
|
|
8
8
|
const FormFieldContext = React.createContext({});
|
|
9
9
|
const FormField = ({ ...props }) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
const Image = React.forwardRef(({ className, src, alt, fallback, ...props }, ref) => {
|
|
5
5
|
const [error, setError] = React.useState(false);
|
|
6
6
|
const handleError = () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { cn } from "
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
const Input = React.forwardRef(({ className, type, ...props }, ref) => {
|
|
5
5
|
return (_jsx("input", { type: type, className: cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className), ref: ref, ...props }));
|
|
6
6
|
});
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils";
|
|
6
6
|
const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
|
|
7
7
|
const Label = React.forwardRef(({ className, ...props }, ref) => (_jsx(LabelPrimitive.Root, { ref: ref, className: cn(labelVariants(), className), ...props })));
|
|
8
8
|
Label.displayName = LabelPrimitive.Root.displayName;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as React from "react";
|
|
2
|
-
import { type Button } from "
|
|
2
|
+
import { type Button } from "./button";
|
|
3
3
|
declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
declare function PaginationItem({ ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
|
|
3
|
-
import { buttonVariants } from "
|
|
4
|
-
import { cn } from "
|
|
3
|
+
import { buttonVariants } from "./button";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
function Pagination({ className, ...props }) {
|
|
6
6
|
return (_jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { cn } from "
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
const Progress = React.forwardRef(({ className, value, ...props }, ref) => (_jsx(ProgressPrimitive.Root, { ref: ref, className: cn("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", className), ...props, children: _jsx(ProgressPrimitive.Indicator, { className: "h-full w-full flex-1 bg-primary transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) })));
|
|
6
6
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
7
7
|
export { Progress };
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { MenuIcon, XIcon } from "lucide-react";
|
|
4
4
|
import { AnimatePresence, motion, useMotionValueEvent, useScroll } from "motion/react";
|
|
5
5
|
import React, { useRef, useState } from "react";
|
|
6
|
-
import { cn } from "
|
|
6
|
+
import { cn } from "../../lib/utils";
|
|
7
7
|
export const Navbar = ({ children, className }) => {
|
|
8
8
|
const ref = useRef(null);
|
|
9
9
|
const { scrollY } = useScroll({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { IconChevronDown } from "@tabler/icons-react";
|
|
3
3
|
import { useLayoutEffect, useRef, useState } from "react";
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "
|
|
4
|
+
import { Button } from "./button";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "./dropdown-menu";
|
|
6
6
|
const SegmentDropdown = ({ options, value, resetButton, onChange }) => {
|
|
7
7
|
const [triggerWidth, setTriggerWidth] = useState();
|
|
8
8
|
const triggerRef = useRef(null);
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
4
4
|
import { Check, ChevronDown, ChevronUp } from "lucide-react";
|
|
5
5
|
import * as React from "react";
|
|
6
|
-
import { cn } from "
|
|
6
|
+
import { cn } from "../../lib/utils";
|
|
7
7
|
const Select = SelectPrimitive.Root;
|
|
8
8
|
const SelectGroup = SelectPrimitive.Group;
|
|
9
9
|
const SelectValue = SelectPrimitive.Value;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { cn } from "
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
5
|
const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className), ...props })));
|
|
6
6
|
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
7
7
|
export { Separator };
|
|
@@ -7,7 +7,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
|
|
|
7
7
|
declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
|
|
8
8
|
declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
9
|
declare const sheetVariants: (props?: ({
|
|
10
|
-
side?: "
|
|
10
|
+
side?: "bottom" | "left" | "right" | "top" | null | undefined;
|
|
11
11
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
12
|
interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
|
|
13
13
|
}
|
|
@@ -4,7 +4,7 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
|
4
4
|
import { cva } from "class-variance-authority";
|
|
5
5
|
import { X } from "lucide-react";
|
|
6
6
|
import * as React from "react";
|
|
7
|
-
import { cn } from "
|
|
7
|
+
import { cn } from "../../lib/utils";
|
|
8
8
|
const Sheet = SheetPrimitive.Root;
|
|
9
9
|
const SheetTrigger = SheetPrimitive.Trigger;
|
|
10
10
|
const SheetClose = SheetPrimitive.Close;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { TooltipContent } from "
|
|
3
|
+
import { TooltipContent } from "./tooltip";
|
|
4
4
|
type SidebarContext = {
|
|
5
5
|
state: "expanded" | "collapsed";
|
|
6
6
|
open: boolean;
|
|
@@ -22,7 +22,7 @@ declare const Sidebar: React.ForwardRefExoticComponent<Omit<React.ClassAttribute
|
|
|
22
22
|
variant?: "sidebar" | "floating" | "inset";
|
|
23
23
|
collapsible?: "offcanvas" | "icon" | "none";
|
|
24
24
|
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
-
declare const SidebarTrigger: React.ForwardRefExoticComponent<Omit<import("
|
|
25
|
+
declare const SidebarTrigger: React.ForwardRefExoticComponent<Omit<import("./button").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
26
26
|
declare const SidebarRail: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
27
27
|
declare const SidebarInset: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
28
28
|
declare const SidebarInput: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -45,7 +45,7 @@ declare const SidebarMenuButton: React.ForwardRefExoticComponent<Omit<React.Clas
|
|
|
45
45
|
isActive?: boolean;
|
|
46
46
|
tooltip?: string | React.ComponentProps<typeof TooltipContent>;
|
|
47
47
|
} & VariantProps<(props?: ({
|
|
48
|
-
variant?: "
|
|
48
|
+
variant?: "outline" | "default" | null | undefined;
|
|
49
49
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
50
50
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
51
51
|
declare const SidebarMenuAction: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
@@ -4,14 +4,14 @@ import { Slot } from "@radix-ui/react-slot";
|
|
|
4
4
|
import { cva } from "class-variance-authority";
|
|
5
5
|
import { PanelLeft } from "lucide-react";
|
|
6
6
|
import * as React from "react";
|
|
7
|
-
import { Button } from "
|
|
8
|
-
import { Input } from "
|
|
9
|
-
import { Separator } from "
|
|
10
|
-
import { Sheet, SheetContent } from "
|
|
11
|
-
import { Skeleton } from "
|
|
12
|
-
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "
|
|
13
|
-
import { useIsMobile } from "
|
|
14
|
-
import { cn } from "
|
|
7
|
+
import { Button } from "./button";
|
|
8
|
+
import { Input } from "./input";
|
|
9
|
+
import { Separator } from "./separator";
|
|
10
|
+
import { Sheet, SheetContent } from "./sheet";
|
|
11
|
+
import { Skeleton } from "./skeleton";
|
|
12
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./tooltip";
|
|
13
|
+
import { useIsMobile } from "../../hooks/use-mobile";
|
|
14
|
+
import { cn } from "../../lib/utils";
|
|
15
15
|
const SIDEBAR_COOKIE_NAME = "sidebar:state";
|
|
16
16
|
const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
17
17
|
const SIDEBAR_WIDTH = "16rem";
|