@ghatak/slash-ui 1.1.0 → 1.1.1

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/bin/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
-
3
2
  import { Command } from 'commander';
4
3
  import { addCommand } from '@/src/commands/add';
5
4
  const program = new Command();
@@ -0,0 +1,2 @@
1
+ declare const NeubrutalButtonDetails: () => import("react/jsx-runtime").JSX.Element;
2
+ export default NeubrutalButtonDetails;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { MousePointer2, Zap, Copy, Check, ShieldCheck, } from 'lucide-react';
5
+ const NeubrutalButtonDetails = () => {
6
+ const [copied, setCopied] = useState(false);
7
+ const [activeTab, setActiveTab] = useState(null);
8
+ const command = 'npx slash-ui@latest add neubrutal-button';
9
+ const handleCopyCommand = () => {
10
+ navigator.clipboard.writeText(command);
11
+ setCopied(true);
12
+ setTimeout(() => setCopied(false), 2000);
13
+ };
14
+ const copyDependency = (pkg) => {
15
+ navigator.clipboard.writeText(`npm install ${pkg}`);
16
+ setActiveTab(pkg);
17
+ setTimeout(() => setActiveTab(null), 2000);
18
+ };
19
+ return (_jsxs("div", { className: 'flex flex-col gap-16 py-8 animate-in fade-in slide-in-from-bottom-4 duration-1000', children: [_jsxs("section", { children: [_jsx("h4", { className: 'text-sm uppercase text-zinc-600 mb-6 font-mono tracking-widest', children: "Description" }), _jsx("p", { className: 'text-zinc-400 text-lg leading-relaxed max-w-2xl font-medium', children: "A high-performance 3D button built with Framer Motion. It features tactile depth, dynamic shadow scaling, and smooth state transitions." })] }), _jsxs("section", { children: [_jsx("h4", { className: 'text-sm uppercase text-zinc-600 mb-4 font-mono tracking-widest', children: "Dependencies" }), _jsxs("div", { className: 'flex items-center gap-3', children: [_jsxs("button", { onClick: () => copyDependency('framer-motion'), className: "flex items-center gap-2 px-3 py-1.5 rounded-full bg-zinc-950 border border-white/5 hover:border-white/20 transition-all active:scale-95", children: [activeTab === 'framer-motion' ? (_jsx(Check, { size: 12, className: "text-white" })) : (_jsx("svg", { width: '12', height: '12', viewBox: '0 0 24 24', fill: 'currentColor', className: "text-white", children: _jsx("path", { d: 'M0 0l12 12L24 0H0zm0 12l12 12V12H0z' }) })), _jsx("span", { className: "text-[11px] font-mono text-white", children: activeTab === 'framer-motion' ? 'Copied!' : 'framer-motion' })] }), _jsxs("button", { onClick: () => copyDependency('lucide-react'), className: "flex items-center gap-2 px-3 py-1.5 rounded-full bg-zinc-950 border border-white/5 hover:border-white/20 transition-all active:scale-95", children: [activeTab === 'lucide-react' ? (_jsx(Check, { size: 12, className: "text-white" })) : (_jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '12', height: '12', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', children: [_jsx("path", { d: 'M14 12C14 9.79086 12.2091 8 10 8C7.79086 8 6 9.79086 6 12C6 16.4183 9.58172 20 14 20C18.4183 20 22 16.4183 22 12C22 8.446 20.455 5.25285 18 3.05557', stroke: '#fff' }), _jsx("path", { d: 'M10 12C10 14.2091 11.7909 16 14 16C16.2091 16 18 14.2091 18 12C18 7.58172 14.4183 4 10 4C5.58172 4 2 7.58172 2 12C2 15.5841 3.57127 18.8012 6.06253 21', stroke: '#fff' })] })), _jsx("span", { className: "text-[11px] font-mono text-white", children: activeTab === 'lucide-react' ? 'Copied!' : 'lucide-react' })] })] })] }), _jsxs("section", { children: [_jsx("h4", { className: 'text-sm uppercase text-zinc-600 mb-6 font-mono tracking-widest', children: "Interaction" }), _jsxs("div", { className: 'space-y-4', children: [_jsxs("div", { className: 'flex items-center gap-4 group', children: [_jsx("div", { className: 'p-2 rounded-lg bg-white/5 text-zinc-500 group-hover:text-white transition-colors', children: _jsx(MousePointer2, { size: 16 }) }), _jsx("span", { className: 'text-sm font-medium text-zinc-400', children: "Realistic 3D depth on click" })] }), _jsxs("div", { className: 'flex items-center gap-4 group', children: [_jsx("div", { className: 'p-2 rounded-lg bg-white/5 text-zinc-500 group-hover:text-white transition-colors', children: _jsx(Zap, { size: 16 }) }), _jsx("span", { className: 'text-sm font-medium text-zinc-400', children: "Smooth hover effects" })] })] })] }), _jsxs("section", { children: [_jsx("h4", { className: 'text-sm uppercase text-zinc-600 mb-6 font-mono tracking-widest', children: "Installation" }), _jsxs("div", { onClick: handleCopyCommand, className: 'group relative flex items-center justify-between p-5 rounded-2xl bg-black border border-white/10 hover:border-white/20 transition-all cursor-pointer active:scale-[0.99]', children: [_jsxs("code", { className: 'text-xs font-cartographCF text-zinc-300', children: [_jsx("span", { className: 'text-zinc-500', children: "npx" }), " slash-ui@latest add ", _jsx("span", { className: 'text-white', children: "neubrutal-button" })] }), _jsx("div", { className: 'p-2 hover:bg-white/5 rounded-lg text-zinc-500 group-hover:text-white transition-colors', children: copied ? _jsx(Check, { size: 14, className: "text-white" }) : _jsx(Copy, { size: 14 }) })] })] }), _jsxs("section", { children: [_jsx("h4", { className: 'text-sm uppercase text-zinc-600 mb-6 font-mono tracking-widest', children: "Props" }), _jsx("div", { className: 'w-full border-t border-white/5', children: [
20
+ { prop: 'children', desc: 'Button label or content' },
21
+ { prop: 'onClick', desc: 'Click handler function' },
22
+ { prop: 'className', desc: 'Additional Tailwind classes' },
23
+ ].map((item, i) => (_jsxs("div", { className: 'flex py-4 border-b border-white/5 text-[13px] group', children: [_jsx("span", { className: 'w-1/3 font-mono font-bold text-white', children: item.prop }), _jsx("span", { className: 'w-2/3 text-zinc-500 font-medium group-hover:text-zinc-400 transition-colors', children: item.desc })] }, i))) })] }), _jsxs("footer", { className: 'pt-8 border-t border-white/5', children: [_jsxs("div", { className: 'flex items-center gap-2 text-zinc-600 text-[11px] font-bold uppercase tracking-widest font-mono', children: [_jsx(ShieldCheck, { size: 14 }), _jsx("span", { children: "License" })] }), _jsx("p", { className: 'mt-4 text-xs text-zinc-500 leading-relaxed font-medium', children: "Free for all projects." })] })] }));
24
+ };
25
+ export default NeubrutalButtonDetails;
@@ -0,0 +1,2 @@
1
+ declare const DotCursorDetails: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DotCursorDetails;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const DotCursorDetails = () => {
3
+ return (_jsx("div", {}));
4
+ };
5
+ export default DotCursorDetails;
@@ -0,0 +1,2 @@
1
+ declare const NavbarDetails: () => import("react/jsx-runtime").JSX.Element;
2
+ export default NavbarDetails;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const NavbarDetails = () => {
3
+ return (_jsx("div", {}));
4
+ };
5
+ export default NavbarDetails;