@todovue/tv-button
Version:
A customizable button component for TODOvue, supporting multiple variants, sizes, and icon modes.
159 lines (117 loc) • 6.4 kB
Markdown
# Changelog
All notable changes to `@todovue/tv-button` will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).
## [1.2.6] - 2026-01-28
### Changed
- Simplified build scripts to improve maintainability.
- Updated package configuration files to the latest versions.
## [1.2.5] - 2025-01-27
### Changed
- Moved the `@todovue/tv-demo` component import from main.js to `Demo.vue` to localize its usage.
- Updated build commands to include `README.md` and `CHANGELOG.md` files in the public directory during the build process.
- Enhanced GitHub Actions workflows to automate npm package publishing and GitHub release creation.
### Removed
- Eliminated the global import of the `@todovue/tv-demo` component from `main.js`.
### Dependencies
- Updated `@todovue/tv-demo` to `^1.4.10`.
- Updated `vue` to `^3.5.27`.
- Updated `sass` to `^1.97.3`.
## [1.2.4] - 2026-01-19
### Added
- Add `dashboard`, `folder`, `image`, `link`, `mail`, `save` icons.
- Added support for `href` and `to` properties to enable native link and client-side routing functionality within the component.
### Dependencies
- Update `@todovue/tv-demo` to `^1.4.3`.
- Update `sass` to `^1.97.2`.
- Update `vite` to `^7.3.1`.
### Changed
- Standardized button properties to ensure consistent API usage across the application.
- Refactored the component structure to improve maintainability and code readability.
- Updated the `README.md` documentation to reflect the standardization of button properties using `variant` and `size` terminology.
- Simplified button mixins to streamline the styling architecture.
- Improved hover and active states to enhance visual feedback and user interaction.
## [1.2.3] - 2025-12-19
### Added
- Added automatic publishing to the TODOvue cPanel in `release.yml` for each release, simplifying package distribution and updates.
- Added `package-lock.json` to the repository to ensure dependency consistency and facilitate version management across development and production environments.
### Changed
- Changed the `base` option in `vite.config.js` for website deployment in cpanel.
### Fixed
- Fixed repository URL in `package.json` to point to the correct GitHub repository.
- Fixed the token configuration used to generate the package in the GitHub Actions workflow `release.yml`.
### Dependencies
- Updated dependency versions in `package.json` to maintain compatibility and benefit from improvements and bug fixes in the used libraries.
## [1.2.2] - 2025-11-21
### Fixed
- Prevent duplicate CSS import for TvButton
## [1.2.1] - 2025-11-20
### Fixed
- Fixed missing export of `nux.js` file in the package.
- Create `global.d.ts` to declare module for TypeScript users.
- Create `tsconfig.json` for proper type checking during build.
## [1.2.0] - 2025-11-20
### Dependencies
- Update `@todovue/tv-demo` to `^1.2.0` for demo improvements.
### Added
- Add `double-arrow-left`, `double-arrow-right`, `home`, `dots-vertical`, `eye-off`, `trash` and `upload` icons.
- Add `nux.js` configuration file for Nuxt 4 integration.
### Changed
- Update icon `remove` to `trash`
## [1.1.3] - 2025-11-15
### Changed
- Removed CSS injection via `vite-plugin-css-injected-by-js` for the library build.
- Styles are now served from a separate CSS file generated by Vite (`dist/*.css`) and must be imported explicitly in the consuming app (SPA or Nuxt).
- Improved compatibility with SSR/SSG environments (especially Nuxt) by avoiding runtime CSS injection.
## [1.1.2] - 2025-10-17
### Fixed
- Fixed CSS export to avoid the need for manual import wherever the component is used.
## [1.1.1] - 2025-10-17
### Changed
- The library build now uses `src/entry.ts` (exports both the component and the plugin) instead of directly exporting the `.vue` file.
- CSS injection via JS has been removed for the library build (it is only kept for the demo), generating a `tv-button.css` file optimized for SSR/Nuxt.
- Changed node-version to workflows release.yml to 20.
### Added
- Plugin installation support: `app.use(TvButton)` or `app.use(TvButtonPlugin)`.
- Explicit export of the style file: `import '@todovue/tv-button/style.css'`.
- Documentation for usage in SSR and Nuxt 3 applications.
### Dependencies
- `package.json` exposes `style`, `sideEffects`, and the export of `./style.css` for safe tree-shaking.
- Updated Vite to `^7.0.0` to ensure compatibility with Node.js 20.19+.
- Updated @vitejs/plugin-vue to `^6.0.0`.
## [1.1.0] - 2025-05-08
### Added
- Add icon-only button support with styling and documentation updates
- Add loading state support with spinner and update documentation
### Fixed
- Fixed button layout and icon positioning
- Fixed tv-btn-text styles for improved accessibility and hover effects
## [1.0.0] - 2025-05-05
### Added
- Introduced `TvButton` as a reusable and fully customizable button component.
- Support for multiple button variants: `default`, `outlined`, `text`, `icon-only`.
- Size options: `small`, `default`, `large`.
- Status-based styles: `success`, `info`, `warning`, `error`.
- `disabled` state with the appropriate accessibility handling.
- Support for custom styles via `customStyle` prop.
- Icon integration using the `icon` and `iconPosition` props.
- ARIA accessibility via `ariaLabel` prop.
- Dual-event emission: `click` and `click-button`.
### Included Icons
- 40+ built-in icons (`account`, `add-user`, `check`, `info`, `logout`, `settings`, etc.)
- All icons are SVG-based and support `currentColor` for theme compatibility.
### Tooling & Setup
- Bundled and built using Vite.
- Ready-to-use as a standalone or global Vue component.
- Scoped styles using SCSS.
[1.2.6]: https://github.com/TODOvue/tv-button/pull/24/files
[1.2.5]: https://github.com/TODOvue/tv-button/pull/23/files
[1.2.4]: https://github.com/TODOvue/tv-button/pull/22/files
[1.2.3]: https://github.com/TODOvue/tv-button/pull/21/files
[1.2.2]: https://github.com/TODOvue/tv-button/pull/20/files
[1.2.1]: https://github.com/TODOvue/tv-button/pull/19/files
[1.2.0]: https://github.com/TODOvue/tv-button/pull/18/files
[1.1.3]: https://github.com/TODOvue/tv-button/pull/17/files
[1.1.2]: https://github.com/TODOvue/tv-button/pull/16/files
[1.1.1]: https://github.com/TODOvue/tv-button/pull/15/files
[1.1.0]: https://github.com/TODOvue/tv-button/pull/13/files
[1.0.0]: https://github.com/TODOvue/tv-button/pull/12/files