Skip to content

Conversation

vineethasok
Copy link
Collaborator

Replaces styled-components with SCSS modules across all components, introduces a new theme system with build-time configuration, and adds a Vite plugin for CSS variable generation. Updates Storybook to support the new theming approach, removes legacy theme and style files, and provides migration and build-time config documentation. This results in improved bundle size, faster theme switching, and better tree-shaking support.

Replaces styled-components with SCSS modules across all components, introduces a new theme system with build-time configuration, and adds a Vite plugin for CSS variable generation. Updates Storybook to support the new theming approach, removes legacy theme and style files, and provides migration and build-time config documentation. This results in improved bundle size, faster theme switching, and better tree-shaking support.
@vineethasok vineethasok self-assigned this Oct 1, 2025
Copy link

vercel bot commented Oct 1, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
click-ui Ready Ready Preview Comment Oct 20, 2025 8:18am

💡 Enable Vercel Agent with $100 free credit for automated AI reviews

Update package.json and package-lock.json to reflect the new version 0.0.234-sc-deprecation.1. This is for testing the functionality
vineethasok and others added 2 commits October 9, 2025 15:31
…App Router compatibility

Add the "use client" directive to 42 component files to ensure proper client-side rendering in Next.js 13+ App Router environments. These components use React hooks, event handlers, and browser APIs that require client-side execution.

Components updated:
- Form components (Checkbox, Switch, RadioGroup, TextField, NumberField, etc.)
- Interactive UI (Button, IconButton, Dropdown, Popover, Dialog, etc.)
- Layout components (Accordion, Tabs, Table, FileTabs, etc.)
- Navigation (Pagination, Sidebar components)
- Feedback (Alert, Toast, Tooltip, HoverCard, ProgressBar)
- Data input (DatePicker, FileUpload, AutoComplete, Select)

This change enables these components to work seamlessly in React Server Component contexts while maintaining their interactive functionality.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Eliminates the 'classic' theme from theme lists, configuration, and code logic. Removes classic theme token files and CSS, updates documentation, and refactors theme hooks and context to only support 'light', 'dark', and 'system' themes. Cleans up unused auto theme logic and ensures all theme switching and CSS variable generation use the new approach.
@serdec
Copy link
Collaborator

serdec commented Oct 13, 2025

do we want to migrate to scss? i thought we opted for standard css

@vineethasok
Copy link
Collaborator Author

vineethasok commented Oct 13, 2025

do we want to migrate to scss? i thought we opted for standard css

I think scss we can add nested content easily. It would be better for DX. The build data contains css and not scss as output

@serdec
Copy link
Collaborator

serdec commented Oct 13, 2025

I think scss we can add nested content easily. It would be better for DX. The build data contains css and not scss as output

my preference is strongly for css as overtime it tends to include the best features from scss and doesn't add any other dependency

Introduces a new config/ directory with universal configuration plugins for Vite, Webpack, Rollup, and Next.js, including a shared core, type definitions, and documentation. Updates package.json and package-lock.json to add new devDependencies and peerDependencies for bundler support. Adds tsconfig.config.json for TypeScript configuration of the new plugins.
…eration

Replaces 'systemModeOverrides' with a top-level 'dark' property in theme config for dark mode overrides. Updates ClickUIProvider and ServerClickUIProvider to merge dark overrides and generate CSS variables using light-dark() only for color variables, with separate handling for non-color variables. Cleans up config loading, adds getThemeValue utility, and updates Vite plugin to match new config structure.
Updated dayjs plugin imports to use explicit .js extensions in DateDetails.tsx. Refactored linkStyles.ts to use double quotes for consistency and converted linkClasses to an arrow function. Added import for global theme styles in index.ts to ensure styles are included when using the library.
Add Node.js environment to ESLint config, update .gitignore to exclude generated SCSS and CSS declaration files, and adjust VSCode settings to hide these files from search and file explorer. Refactor Vite config to bundle all CSS into one file, enforce consistent CSS module class names, and improve external dependency handling for React and other libraries.
Major documentation overhaul for Click UI theme configuration: rewrote BUILD_TIME_CONFIG_CLICK_UI.md as a full API reference, added CONFIG_ARCHITECTURE.md to explain config/plugin design, and updated README.md and config/README.md for clearer quick start and plugin setup. Added CLI bin/click-ui.js and bin/commands/init.js for config file scaffolding. Removed legacy click-ui-config.example.js and src/theme/README.md. Added practical examples for Vite, Webpack, Rollup, Next.js, and updated provider/usage docs for new config structure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants