{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "management-bar", "type": "registry:ui", "title": "Management Bar", "description": "Management Bar Component", "dependencies": [ "motion", "lucide-react" ], "registryDependencies": [ "https://animate-ui.com/r/sliding-number" ], "files": [ { "path": "registry/ui-elements/management-bar/index.tsx", "content": "'use client';\n\nimport * as React from 'react';\nimport {\n ChevronLeft,\n ChevronRight,\n Ban,\n X,\n Command,\n IdCard,\n} from 'lucide-react';\nimport { SlidingNumber } from '@/components/animate-ui/text/sliding-number';\nimport { motion, type Variants, type Transition } from 'motion/react';\n\nconst TOTAL_PAGES = 10;\n\nconst BUTTON_MOTION_CONFIG = {\n initial: 'rest',\n whileHover: 'hover',\n whileTap: 'tap',\n variants: {\n rest: { maxWidth: '40px' },\n hover: {\n maxWidth: '140px',\n transition: { type: 'spring', stiffness: 200, damping: 35, delay: 0.15 },\n },\n tap: { scale: 0.95 },\n },\n transition: { type: 'spring', stiffness: 250, damping: 25 },\n} as const;\n\nconst LABEL_VARIANTS: Variants = {\n rest: { opacity: 0, x: 4 },\n hover: { opacity: 1, x: 0, visibility: 'visible' },\n tap: { opacity: 1, x: 0, visibility: 'visible' },\n};\n\nconst LABEL_TRANSITION: Transition = {\n type: 'spring',\n stiffness: 200,\n damping: 25,\n};\n\nfunction ManagementBar() {\n const [currentPage, setCurrentPage] = React.useState(1);\n\n const handlePrevPage = React.useCallback(() => {\n if (currentPage > 1) setCurrentPage(currentPage - 1);\n }, [currentPage]);\n\n const handleNextPage = React.useCallback(() => {\n if (currentPage < TOTAL_PAGES) setCurrentPage(currentPage + 1);\n }, [currentPage]);\n\n return (\n