{"_id":"@crisellevaldez/speculo-ui","_rev":"3-9718e518502d9e93fe9d987ee412230d","name":"@crisellevaldez/speculo-ui","dist-tags":{"latest":"0.7.47"},"versions":{"0.7.45":{"name":"@crisellevaldez/speculo-ui","version":"0.7.45","_id":"@crisellevaldez/speculo-ui@0.7.45","maintainers":[{"name":"crisellevaldez","email":"criselle.dev@gmail.com"}],"homepage":"https://github.com/crisellevaldez/speculo-ui#readme","bugs":{"url":"https://github.com/crisellevaldez/speculo-ui/issues"},"dist":{"shasum":"e1cfce535176cea15d947c5c66d45558e3fc27f2","tarball":"https://registry.npmjs.org/@crisellevaldez/speculo-ui/-/speculo-ui-0.7.45.tgz","fileCount":56,"integrity":"sha512-6LmC6OVqipa4s1w1RuxT/7XzWXagKsmEKjZEO2CA7frPnWxlitOG1ZgylpZHfYYAoOeiUkHRyI4SA5Ro9HsAHA==","signatures":[{"sig":"MEUCICa7AoAerfQNpITXtsz4+w84MtSbQg/chCdzEfmrkNjrAiEAn28kNMAwkCznUpCC6hgSKyA7hQXytf4gqSKMTo8q9DY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3568106},"main":"./dist/speculo-ui.cjs","type":"module","style":"./dist/styles.css","types":"./dist/index.d.ts","module":"./dist/speculo-ui.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/speculo-ui.mjs","require":"./dist/speculo-ui.cjs"},"./preset":"./tailwind.preset.cjs","./styles.css":"./dist/styles.css"},"gitHead":"906e3104bd11bfb2e8734b5cf3da41805d27adb6","private":false,"scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"eslint . --fix && tsc && vite build","preview":"vite preview","release":"npm run build && npm publish","build:docs":"vite build --config vite.docs.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"crisellevaldez","email":"criselle.dev@gmail.com"},"repository":{"url":"git+https://github.com/crisellevaldez/speculo-ui.git","type":"git"},"_npmVersion":"11.6.2","description":"A modern React component library built with TypeScript and Tailwind CSS.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.0","firebase":"^11.1.0","lucide-react":"^0.468.0","tailwind-merge":"^2.2.1","moment-timezone":"^0.5.46","react-router-dom":"^7.0.2","react-phone-number-input":"^3.4.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","react":"^18.2.0","eslint":"^8.57.0","postcss":"^8.4.49","prettier":"^3.4.2","react-dom":"^18.2.0","typescript":"^5.4.2","@types/node":"^20.11.30","tailwindcss":"^3.4.16","@types/react":"^18.2.67","autoprefixer":"^10.4.20","vite-plugin-dts":"^3.7.3","@types/react-dom":"^18.2.22","typescript-eslint":"^8.18.0","@tailwindcss/typography":"^0.5.15","@types/react-router-dom":"^5.3.3","@vitejs/plugin-react-swc":"^3.6.0","@typescript-eslint/parser":"^7.3.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.6","prettier-plugin-tailwindcss":"^0.6.9","eslint-plugin-unused-imports":"latest","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/speculo-ui_0.7.45_1782156936884_0.5358076414905726","host":"s3://npm-registry-packages-npm-production"}},"0.7.46":{"name":"@crisellevaldez/speculo-ui","version":"0.7.46","_id":"@crisellevaldez/speculo-ui@0.7.46","maintainers":[{"name":"crisellevaldez","email":"criselle.dev@gmail.com"}],"homepage":"https://github.com/crisellevaldez/speculo-ui#readme","bugs":{"url":"https://github.com/crisellevaldez/speculo-ui/issues"},"dist":{"shasum":"ad8b6f3f96ae10ca25a04e9a5ecfdad33abac451","tarball":"https://registry.npmjs.org/@crisellevaldez/speculo-ui/-/speculo-ui-0.7.46.tgz","fileCount":56,"integrity":"sha512-fMehrmf4Y3Kgsjcj2iL/2j3dToiAc51fZYjAPHdlzPZV0JqHg8r6PQASVwV7OTrB/QXid0T0orqGjGXP3Zz/zQ==","signatures":[{"sig":"MEYCIQDGyk7Dnm3ebcW2ZaDDItrZ9QHfBOtL+/imIqg/MlY4ugIhALpIKDpVrqNeG3AIGhFbW3+/Be30Fd3r+9BED7jy8z/0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3606838},"main":"./dist/speculo-ui.cjs","type":"module","style":"./dist/styles.css","types":"./dist/index.d.ts","module":"./dist/speculo-ui.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/speculo-ui.mjs","require":"./dist/speculo-ui.cjs"},"./preset":"./tailwind.preset.cjs","./styles.css":"./dist/styles.css"},"gitHead":"e63bb8ae177eb26812f48449748392aae0eea406","private":false,"scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"eslint . --fix && tsc && vite build","preview":"vite preview","release":"npm run build && npm publish","build:docs":"vite build --config vite.docs.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"crisellevaldez","email":"criselle.dev@gmail.com"},"repository":{"url":"git+https://github.com/crisellevaldez/speculo-ui.git","type":"git"},"_npmVersion":"11.6.2","description":"A modern React component library built with TypeScript and Tailwind CSS.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.0","firebase":"^11.1.0","lucide-react":"^0.468.0","tailwind-merge":"^2.2.1","moment-timezone":"^0.5.46","react-router-dom":"^7.0.2","react-phone-number-input":"^3.4.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","react":"^18.2.0","eslint":"^8.57.0","postcss":"^8.4.49","prettier":"^3.4.2","react-dom":"^18.2.0","typescript":"^5.4.2","@types/node":"^20.11.30","tailwindcss":"^3.4.16","@types/react":"^18.2.67","autoprefixer":"^10.4.20","vite-plugin-dts":"^3.7.3","@types/react-dom":"^18.2.22","typescript-eslint":"^8.18.0","@tailwindcss/typography":"^0.5.15","@types/react-router-dom":"^5.3.3","@vitejs/plugin-react-swc":"^3.6.0","@typescript-eslint/parser":"^7.3.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.6","prettier-plugin-tailwindcss":"^0.6.9","eslint-plugin-unused-imports":"latest","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/speculo-ui_0.7.46_1787944074224_0.275564642644041","host":"s3://npm-registry-packages-npm-production"}},"0.7.47":{"_id":"@crisellevaldez/speculo-ui@0.7.47","bugs":{"url":"https://github.com/crisellevaldez/speculo-ui/issues"},"dist":{"shasum":"5f3fe36c6a23891fa30c582d625385ce49e91543","tarball":"https://registry.npmjs.org/@crisellevaldez/speculo-ui/-/speculo-ui-0.7.47.tgz","fileCount":56,"integrity":"sha512-ytGzcbh1uDPFSZ2bandk7aEGkjSf4nkJf7240MrwKvan/rBTARKBR2fZH7IaqSOJS5bZOodPkuTrXPMRbZluDQ==","signatures":[{"sig":"MEUCIQDKrZ3vrAl7GEend+IXEPOAiY+nkq1bxIFGXYfYzdscnwIgNGO9NQEMZyOEccYMXQEzI561Xw4SbKVlwBnjvI0P2ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDXlced6NTtKgP3favFaCwzIvjQKKEAy1khHc2oTT1rqAiALhcbumZ7BS0qMVFfANb2j1qT3ccBz+Q5KzKswE6JKsg=="}],"unpackedSize":3612252},"main":"./dist/speculo-ui.cjs","name":"@crisellevaldez/speculo-ui","type":"module","style":"./dist/styles.css","types":"./dist/index.d.ts","module":"./dist/speculo-ui.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/speculo-ui.mjs","require":"./dist/speculo-ui.cjs"},"./preset":"./tailwind.preset.cjs","./styles.css":"./dist/styles.css"},"gitHead":"a7ddd312126790c47bfde5f466c5ecaa90ce0c3d","private":false,"scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"eslint . --fix && tsc && vite build","preview":"vite preview","release":"npm run build && npm publish","build:docs":"vite build --config vite.docs.config.ts","prepublishOnly":"npm run build"},"version":"0.7.47","_npmUser":{"name":"crisellevaldez","email":"criselle.dev@gmail.com"},"homepage":"https://github.com/crisellevaldez/speculo-ui#readme","repository":{"url":"git+https://github.com/crisellevaldez/speculo-ui.git","type":"git"},"_npmVersion":"11.6.2","description":"A modern React component library built with TypeScript and Tailwind CSS.","directories":{},"maintainers":[{"name":"crisellevaldez","email":"criselle.dev@gmail.com"}],"sideEffects":["**/*.css"],"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.0","firebase":"^11.1.0","lucide-react":"^0.468.0","tailwind-merge":"^2.2.1","moment-timezone":"^0.5.46","react-router-dom":"^7.0.2","react-phone-number-input":"^3.4.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","react":"^18.2.0","eslint":"^8.57.0","postcss":"^8.4.49","prettier":"^3.4.2","react-dom":"^18.2.0","typescript":"^5.4.2","@types/node":"^20.11.30","tailwindcss":"^3.4.16","@types/react":"^18.2.67","autoprefixer":"^10.4.20","vite-plugin-dts":"^3.7.3","@types/react-dom":"^18.2.22","typescript-eslint":"^8.18.0","@tailwindcss/typography":"^0.5.15","@types/react-router-dom":"^5.3.3","@vitejs/plugin-react-swc":"^3.6.0","@typescript-eslint/parser":"^7.3.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.6","prettier-plugin-tailwindcss":"^0.6.9","eslint-plugin-unused-imports":"latest","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/speculo-ui_0.7.47_1790101452441_0.46432947222868637"}}},"time":{"created":"2026-06-22T19:35:36.778Z","modified":"2026-09-22T18:24:12.801Z","0.7.45":"2026-06-22T19:35:37.079Z","0.7.46":"2026-08-28T19:07:54.407Z","0.7.47":"2026-09-22T18:24:12.563Z"},"bugs":{"url":"https://github.com/crisellevaldez/speculo-ui/issues"},"homepage":"https://github.com/crisellevaldez/speculo-ui#readme","repository":{"url":"git+https://github.com/crisellevaldez/speculo-ui.git","type":"git"},"description":"A modern React component library built with TypeScript and Tailwind CSS.","maintainers":[{"name":"crisellevaldez","email":"criselle.dev@gmail.com"}],"readme":"# Speculo UI\r\n\r\nA modern React component library built with TypeScript and Tailwind CSS.\r\n\r\n## Installation\r\n\r\n1. Create `.npmrc` in your project root:\r\n\r\n```\r\n@crisellevaldez:registry=https://npm.pkg.github.com\r\n//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN\r\n```\r\n\r\n2. Install the package:\r\n\r\n```bash\r\nnpm install @crisellevaldez/speculo-ui\r\n```\r\n\r\n3. Add to your `tailwind.config.js`:\r\n\r\n```js\r\n/** @type {import('tailwindcss').Config} */\r\nexport default {\r\n  content: [\r\n    // ... your other content paths\r\n    \"./node_modules/@crisellevaldez/speculo-ui/dist/**/*.{js,ts,jsx,tsx}\",\r\n  ],\r\n  theme: {\r\n    extend: {\r\n      colors: {\r\n        background: \"hsl(var(--background))\",\r\n        foreground: \"hsl(var(--foreground))\",\r\n        primary: {\r\n          DEFAULT: \"hsl(var(--primary))\",\r\n          foreground: \"hsl(var(--primary-foreground))\",\r\n        },\r\n        secondary: {\r\n          DEFAULT: \"hsl(var(--secondary))\",\r\n          foreground: \"hsl(var(--secondary-foreground))\",\r\n        },\r\n        destructive: {\r\n          DEFAULT: \"hsl(var(--destructive))\",\r\n          foreground: \"hsl(var(--destructive-foreground))\",\r\n        },\r\n        muted: {\r\n          DEFAULT: \"hsl(var(--muted))\",\r\n          foreground: \"hsl(var(--muted-foreground))\",\r\n        },\r\n        accent: {\r\n          DEFAULT: \"hsl(var(--accent))\",\r\n          foreground: \"hsl(var(--accent-foreground))\",\r\n        },\r\n        popover: {\r\n          DEFAULT: \"hsl(var(--popover))\",\r\n          foreground: \"hsl(var(--popover-foreground))\",\r\n        },\r\n        card: {\r\n          DEFAULT: \"hsl(var(--card))\",\r\n          foreground: \"hsl(var(--card-foreground))\",\r\n        },\r\n        border: \"hsl(var(--border))\",\r\n        input: \"hsl(var(--input))\",\r\n        ring: \"hsl(var(--ring))\",\r\n      },\r\n      borderRadius: {\r\n        lg: \"var(--radius)\",\r\n        md: \"calc(var(--radius) - 2px)\",\r\n        sm: \"calc(var(--radius) - 4px)\",\r\n      },\r\n    },\r\n  },\r\n};\r\n```\r\n\r\n4. **Important**: Import the required styles in your main CSS file (e.g., app.css or globals.css):\r\n\r\n```css\r\n@import \"@crisellevaldez/speculo-ui/styles.css\";\r\n```\r\n\r\nThis import provides:\r\n\r\n- CSS variables for theming (colors, border radius)\r\n- Dark mode support through CSS variables\r\n- Base component styles\r\n\r\n5. For Next.js projects, add to `next.config.js`:\r\n\r\n```js\r\n/** @type {import('next').NextConfig} */\r\nconst nextConfig = {\r\n  transpilePackages: [\"@crisellevaldez/speculo-ui\"],\r\n};\r\n\r\nmodule.exports = nextConfig;\r\n```\r\n\r\n## Usage\r\n\r\n```tsx\r\nimport { Button } from \"@crisellevaldez/speculo-ui\";\r\n\r\nfunction App() {\r\n  return <Button>Click me</Button>;\r\n}\r\n```\r\n\r\n## Theming\r\n\r\nThe library uses CSS variables for theming, providing:\r\n\r\n- Consistent color palette across components\r\n- Built-in dark mode support\r\n- Easy customization through CSS variables\r\n- HSL color format for flexible color manipulation\r\n\r\n## Components\r\n\r\n- Button\r\n- Input\r\n- Select\r\n- Checkbox\r\n- Radio\r\n- Switch\r\n- Modal\r\n- Drawer\r\n- Toast\r\n- Typography\r\n- And more...\r\n\r\n## Documentation\r\n\r\nView the full documentation and examples at [https://speculo-ui.web.app](https://speculo-ui.web.app)\r\n","readmeFilename":"README.md"}