UNPKG

theme-editor-svelte

Version:
96 lines (62 loc) 3.22 kB
<div align="center"> # Theme Editor for Svelte ![Svelte](https://img.shields.io/badge/Svelte-4A4A55.svg?style&logo=Svelte&logoColor=orange) ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6.svg?style&logo=TypeScript&logoColor=white) ![Last Commit](https://img.shields.io/github/last-commit/naziks/theme-editor-svelte) ![Top Language](https://img.shields.io/github/languages/top/naziks/theme-editor-svelte) ![Minified Size](https://badgen.net/bundlephobia/min/theme-editor-svelte@latest) [![NPM Version](https://img.shields.io/npm/v/theme-editor-svelte?logo=npm&logoColor=red)](https://www.npmjs.com/package/theme-editor-svelte) [![GitHub Repo](https://img.shields.io/badge/theme_editor_svelte-161b22?logo=github)](https://github.com/naziks/theme-editor-svelte) </div> --- > Inspired by [Shadcn Theme Editor](https://github.com/programming-with-ia/shadcn-theme-editor) by [programming-with-ia](https://github.com/programming-with-ia) ## ✨ Description **Universal Theme Editor Svelte** is a simple tool that lets you visually customize theme colors in your Shadcn-based web application (or any app that uses CSS variables). It provides an intuitive interface to tweak colors and instantly preview changes. ## ⚡ Features - 🧩 Plug-and-play integration with SvelteKit - 🎨 Real-time editing of CSS variable-based themes - 🎛️ Support for HSL and size-based variables - ⌨️ Keyboard shortcuts for quick toggling - 🧠 Useful even outside Shadcn projects ## 🚀 Quick Start ### 1. Install (as a dev dependency) ```bash yarn add -D theme-editor-svelte ``` or ```bash yarn add -D theme-editor-svelte ``` ### 2. Add to your SvelteKit app ```sveltehtml <!-- src/routes/+layout.svelte --> {#if import.meta.env.DEV} {#await import('theme-editor-svelte') then { default: ThemeEditor }} <ThemeEditor project="project-name"/> {/await} {/if} ``` > ☝️ This ensures the editor is only loaded during development. ## 🧠 Usage ### Shortcuts - `Ctrl / Command + Enter` — Toggle editor visibility - `Ctrl / Command + Shift + Enter` — Toggle editor position (Left / Right) ### Preview ![Preview](https://github.com/naziks/theme-editor-svelte/blob/main/docs/images/preview.png?raw=true) ## ⚙️ How It Works Instead of pulling values from `tailwind.config.js` or CSS files, this tool directly reads styles from the `:root` or `html` element. That means it can be used in **almost any project** that relies on CSS variables — not just Shadcn-based apps. ## 🧩 Supported Values Currently supported input formats for variables: -**HSL** values (e.g., `0 0% 100%`) -**Sizes**: `px`, `rem`, `em`, `vh`, `vw` (e.g., `10px`) All other variable types can still be edited manually via text input. ## 📦 Package Info - 📁 [Source code](https://github.com/naziks/theme-editor-svelte) - 📄 [NPM Package](https://www.npmjs.com/package/theme-editor-svelte) ## 🙌 Contributing Contributions, feedback, and issues are welcome! Feel free to open an [issue](https://github.com/naziks/theme-editor-svelte/issues) or submit a [pull request](https://github.com/naziks/theme-editor-svelte/pulls). ## 📄 License Licensed under the [MIT License](./LICENSE).