UNPKG

@todovue/tv-button

Version:

A customizable button component for TODOvue, supporting multiple variants, sizes, and icon modes.

159 lines (117 loc) 6.4 kB
# 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