@todovue/tv-ui 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +20 -20
  2. package/dist/entry.d.ts +2 -2
  3. package/dist/tv-ui.cjs.js +1 -1
  4. package/dist/tv-ui.css +1 -1
  5. package/dist/tv-ui.es.js +50 -49
  6. package/package.json +4 -2
  7. package/dist/.htaccess +0 -8
  8. package/dist/demos/tv-alert/CHANGELOG.md +0 -127
  9. package/dist/demos/tv-alert/README.md +0 -334
  10. package/dist/demos/tv-article/CHANGELOG.md +0 -221
  11. package/dist/demos/tv-article/README.md +0 -258
  12. package/dist/demos/tv-breadcrumbs/CHANGELOG.md +0 -135
  13. package/dist/demos/tv-breadcrumbs/README.md +0 -364
  14. package/dist/demos/tv-button/CHANGELOG.md +0 -158
  15. package/dist/demos/tv-button/README.md +0 -255
  16. package/dist/demos/tv-card/CHANGELOG.md +0 -158
  17. package/dist/demos/tv-card/README.md +0 -332
  18. package/dist/demos/tv-demo/CHANGELOG.md +0 -352
  19. package/dist/demos/tv-demo/README.md +0 -229
  20. package/dist/demos/tv-footer/CHANGELOG.md +0 -67
  21. package/dist/demos/tv-footer/README.md +0 -760
  22. package/dist/demos/tv-hero/CHANGELOG.md +0 -137
  23. package/dist/demos/tv-hero/README.md +0 -410
  24. package/dist/demos/tv-label/CHANGELOG.md +0 -138
  25. package/dist/demos/tv-label/README.md +0 -357
  26. package/dist/demos/tv-menu/CHANGELOG.md +0 -145
  27. package/dist/demos/tv-menu/README.md +0 -389
  28. package/dist/demos/tv-modal/CHANGELOG.md +0 -127
  29. package/dist/demos/tv-modal/README.md +0 -466
  30. package/dist/demos/tv-pagination/CHANGELOG.md +0 -125
  31. package/dist/demos/tv-pagination/README.md +0 -275
  32. package/dist/demos/tv-progress-bar/CHANGELOG.md +0 -84
  33. package/dist/demos/tv-progress-bar/README.md +0 -894
  34. package/dist/demos/tv-relative-time/CHANGELOG.md +0 -122
  35. package/dist/demos/tv-relative-time/README.md +0 -405
  36. package/dist/demos/tv-scroll-top/CHANGELOG.md +0 -69
  37. package/dist/demos/tv-scroll-top/README.md +0 -445
  38. package/dist/demos/tv-search/CHANGELOG.md +0 -155
  39. package/dist/demos/tv-search/README.md +0 -407
  40. package/dist/demos/tv-settings/CHANGELOG.md +0 -94
  41. package/dist/demos/tv-settings/README.md +0 -314
  42. package/dist/demos/tv-sidebar/CHANGELOG.md +0 -229
  43. package/dist/demos/tv-sidebar/README.md +0 -592
  44. package/dist/demos/tv-theme-button/CHANGELOG.md +0 -136
  45. package/dist/demos/tv-theme-button/README.md +0 -392
  46. package/dist/demos/tv-toc/CHANGELOG.md +0 -80
  47. package/dist/demos/tv-toc/README.md +0 -288
  48. package/dist/favicon.ico +0 -0
@@ -1,229 +0,0 @@
1
- <p align="center"><img width="150" src="https://res.cloudinary.com/dcdfhi8qz/image/upload/v1763663056/uqqtkgp1lg3xdplutpga.png" alt="TODOvue logo">
2
- </p>
3
-
4
- # TODOvue Demo Catalog (TvDemo)
5
- A flexible, framework-agnostic Vue 3 component catalog for demos, documentation, and playgrounds. Compatible with both SPA and SSR (Nuxt 3), with automatic style injection and no DOM assumptions.
6
-
7
- [![npm](https://img.shields.io/npm/v/@todovue/tv-demo.svg)](https://www.npmjs.com/package/@todovue/tv-demo)
8
- [![npm downloads](https://img.shields.io/npm/dm/@todovue/tv-demo.svg)](https://www.npmjs.com/package/@todovue/tv-demo)
9
- [![npm total downloads](https://img.shields.io/npm/dt/@todovue/tv-demo.svg)](https://www.npmjs.com/package/@todovue/tv-demo)
10
- ![License](https://img.shields.io/github/license/TODOvue/tv-demo)
11
- ![Release Date](https://img.shields.io/github/release-date/TODOvue/tv-demo)
12
- ![Bundle Size](https://img.shields.io/bundlephobia/minzip/@todovue/tv-demo)
13
- ![Node Version](https://img.shields.io/node/v/@todovue/tv-demo)
14
- ![Last Commit](https://img.shields.io/github/last-commit/TODOvue/tv-demo)
15
- ![Stars](https://img.shields.io/github/stars/TODOvue/tv-demo?style=social)
16
-
17
- > Demo: https://ui.todovue.blog/demo/
18
-
19
- ---
20
- ## Table of Contents
21
- - [Features](#features)
22
- - [Installation](#installation)
23
- - [Quick Start (SPA)](#quick-start-spa)
24
- - [Nuxt 3 / SSR Usage](#nuxt-3--ssr-usage)
25
- - [Component Registration Options](#component-registration-options)
26
- - [Props](#props)
27
- - [Events](#events)
28
- - [Customization (Styles)](#customization-styles)
29
- - [SSR Notes](#ssr-notes)
30
- - [Development](#development)
31
- - [Contributing](#contributing)
32
- - [License](#license)
33
-
34
- ---
35
- ## Features
36
- - Visual catalog for Vue 3 components with live variants.
37
- - SPA and SSR (Nuxt 3) compatible.
38
- - Automatic import of global and highlight.js styles (no manual CSS import needed).
39
- - Interactive code highlighting and markdown documentation support.
40
- - Modular structure, easy to extend.
41
- - Tree-shake friendly and ready for modern bundlers.
42
-
43
- ---
44
- ## Installation
45
- Using npm:
46
- ```bash
47
- npm install @todovue/tv-demo
48
- ```
49
- Using yarn:
50
- ```bash
51
- yarn add @todovue/tv-demo
52
- ```
53
- Using pnpm:
54
- ```bash
55
- pnpm add @todovue/tv-demo
56
- ```
57
-
58
- ---
59
- ## Usage of Styles
60
-
61
- ### Vue/Vite (SPA)
62
- Import the CSS generated by the library in your main entry file:
63
- ```ts
64
- // main.ts
65
- import { createApp } from 'vue'
66
- import App from './App.vue'
67
-
68
- import '@todovue/tv-demo/style.css'
69
- import { TvDemo } from '@todovue/tv-demo'
70
-
71
- const app = createApp(App)
72
- app.component('TvDemo', TvDemo)
73
- app.mount('#app')
74
- ```
75
-
76
- ### Nuxt 3/4
77
- Add the library's CSS to your Nuxt configuration:
78
- ```ts
79
- // nuxt.config.ts
80
- export default defineNuxtConfig({
81
- css: ['@todovue/tv-demo/style.css'],
82
- })
83
- ```
84
-
85
- ---
86
- ## Quick Start (SPA)
87
- Global registration (main.js / main.ts):
88
- ```js
89
- import { createApp } from 'vue'
90
- import App from './App.vue'
91
- import TvDemo from '@todovue/tv-demo'
92
-
93
- createApp(App)
94
- .component('TvDemo', TvDemo)
95
- .mount('#app')
96
- ```
97
- Local import inside a component:
98
- ```vue
99
- <script setup>
100
- import { TvDemo } from '@todovue/tv-demo'
101
- </script>
102
-
103
- <template>
104
- <TvDemo />
105
- </template>
106
- ```
107
-
108
- ---
109
- ## Nuxt 3 / SSR Usage
110
- Create a plugin file: `plugins/tv-demo.client.ts` (or without suffix for SSR, it's safe):
111
- ```ts
112
- import { defineNuxtPlugin } from '#app'
113
- import TvDemo from '@todovue/tv-demo'
114
-
115
- export default defineNuxtPlugin(nuxtApp => {
116
- nuxtApp.vueApp.component('TvDemo', TvDemo)
117
- })
118
- ```
119
- Use anywhere:
120
- ```vue
121
- <TvDemo />
122
- ```
123
- Direct import (no plugin):
124
- ```vue
125
- <script setup>
126
- import { TvDemo } from '@todovue/tv-demo'
127
- </script>
128
- ```
129
-
130
- ---
131
- ## Component Registration Options
132
- | Approach | When to use |
133
- |-------------------------------------------------------------|------------------------------------------------|
134
- | Global via `app.component('TvDemo', TvDemo)` | Frequent use across the app |
135
- | Local named import `{ TvDemo }` | Isolated/code-split contexts |
136
- | Direct default import `import TvDemo from ...` | Single use or manual registration |
137
-
138
- ---
139
- ## Props
140
- | Name | Type | Default | Description | Required |
141
- |-------------------|---------|---------------|---------------------------------------------------------------------|----------|
142
- | component | Object | | Component to display | `true` |
143
- | variants | Array | | Variations of the component | `true` |
144
- | hideBackground | Boolean | `false` | Hide the background of the component demo | `false` |
145
- | demoStyle | Object | | Style of the component | `false` |
146
- | componentName | String | `null` | Name of the component to display in the demo | `false` |
147
- | npmInstall | String | `null` | Command to install the component (without `npm install`) | `false` |
148
- | sourceLink | String | `null` | Link to the source code of the component | `false` |
149
- | urlClone | String | `null` | Link to clone the repository of the component (without `git clone`) | `false` |
150
- | isDevComponent | Boolean | `false` | Indicates that the component is in development (to include `-D`) | `false` |
151
- | version | String | `1.0.0` | Version of the component | `false` |
152
- | readmePath | String | `./README.md` | Path to the README file of the component | `false` |
153
- | showDocumentation | Boolean | `true` | Show or hide the documentation tab | `false` |
154
- | showChangelog | Boolean | `true` | Show or hide the changelog tab | `false` |
155
- | manualEmits | Array | `[]` | List of event names to listen relative to the component | `false` |
156
-
157
- ---
158
- ## Events
159
- | Event name | Description |
160
- |-----------------|---------------------------------------------|
161
- | select-demo | Emitted when a demo/variant is selected |
162
-
163
- Usage:
164
- ```vue
165
- <TvDemo @select-demo="onSelectDemo" />
166
- ```
167
-
168
- Manual Emits (for async components):
169
- ```vue
170
- <TvDemo
171
- :component="AsyncComponent"
172
- :manual-emits="['click', 'submit']"
173
- :variants="demos"
174
- />
175
- ```
176
-
177
- ---
178
- ## Customization (Styles)
179
- - All global and highlight.js styles are injected automatically.
180
- - You can override styles by passing the `demoStyle` prop:
181
- ```js
182
- const demoStyle = ref({
183
- dark: {
184
- backgroundBody: "#000000",
185
- backgroundContent: "#1f1f1f",
186
- color: "#ffffff",
187
- },
188
- light: {
189
- backgroundBody: "#ffffff",
190
- backgroundContent: "#f5f5f5",
191
- color: "#000000",
192
- },
193
- });
194
- ```
195
- Use in your component:
196
- ```vue
197
- <TvDemo :component="component" :variants="demos" :demoStyle="demoStyle" />
198
- ```
199
- You can provide colors for both `dark` and `light` themes, or just one. Defaults are used if not provided.
200
-
201
- ---
202
- ## SSR Notes
203
- - No direct DOM (`window` / `document`) access in the source code—safe for SSR.
204
- - Styles are injected automatically when you import the library.
205
- - Code highlighting works in both Vite and Nuxt.
206
- - Markdown documentation is supported by placing your `README.md` in the `public/` folder and referencing it via the `readmePath` prop.
207
-
208
- ---
209
- ## Development
210
- ```bash
211
- git clone https://github.com/TODOvue/tv-demo.git
212
- cd tv-demo
213
- yarn install
214
- yarn dev # run local demo
215
- yarn build # build library
216
- ```
217
- The local demo is served with Vite using `index.html` and examples in `src/demo`.
218
-
219
- ---
220
- ## Contributing
221
- PRs and issues are welcome. See [CONTRIBUTING.md](../CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md).
222
-
223
- ---
224
- ## License
225
- MIT © TODOvue
226
-
227
- ---
228
- ### Attributions
229
- Crafted for the TODOvue component ecosystem
@@ -1,67 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to `@todovue/tv-footer` will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.1.1] - 2026-01-27
9
-
10
- ### Changed
11
- - Simplified the file list in `package.json` to include only essential assets.
12
- - Simplified the build configuration by removing demo-specific logic.
13
- - Enhanced GitHub Actions workflows to automate npm package publishing and GitHub release creation.
14
- - Moved the `@todovue/tv-demo` component import from main.js to `Demo.vue` to localize its usage.
15
- - Updated build commands to include `README.md` and `CHANGELOG.md` files in the public directory during the build process.
16
-
17
- ### Added
18
- - Included the `src` directory in the `package.json` files list to ensure component source files are bundled in the package distribution.
19
-
20
- ### Removed
21
- - Eliminated the global import of the `@todovue/tv-demo` component from `main.js`.
22
-
23
- ### Dependencies
24
- - Updated `@todovue/tv-demo` to `^1.4.11`.
25
- - Updated `vue` to `^3.5.27`.
26
- - Updated `sass` to `^1.97.3`.
27
-
28
- ## [1.1.0] - 2026-01-21
29
-
30
- ### Added
31
- - Added `newsletter` properties to `useFooter` composable return.
32
- - Added new styles for newsletter form and back-to-top button.
33
-
34
- ### Dependencies
35
- - Updated `@todovue/tv-demo` to `^1.4.4`.
36
- - Updated `sass` to `^1.97.2`.
37
- - Updated `vite` to `^7.3.1`.
38
-
39
- ### Changed
40
- - Enhanced footer styles to improve visual consistency across the application.
41
- - Improved responsiveness of the footer component for better mobile and tablet compatibility.
42
-
43
- ## [1.0.0] - 2026-01-07
44
-
45
- ### Added
46
- - Initial release of TvFooter component
47
- - Responsive grid layout (1 column mobile, 2 tablet, 4 desktop)
48
- - Brand section with logo and name display support
49
- - Version display capability
50
- - Multiple navigation sections with titles and links
51
- - Social media links with icon support (iconUrl and icon class)
52
- - Legal links section (Privacy, Terms, etc.)
53
- - Dynamic copyright with automatic year replacement (`{year}` placeholder)
54
- - Light/Dark mode support built-in
55
- - SSR-safe implementation (Nuxt 3 compatible)
56
- - `useFooter` composable for custom implementations
57
- - TypeScript support with type definitions
58
- - Semantic HTML structure for accessibility
59
- - ARIA labels and proper link attributes
60
- - External link safety (`rel="noopener noreferrer"`)
61
- - Smooth hover effects and transitions
62
- - Backdrop blur effect on social icons
63
- - Comprehensive documentation and examples
64
-
65
- [1.1.1]: https://github.com/TODOvue/tv-footer/pull/3/files
66
- [1.1.0]: https://github.com/TODOvue/tv-footer/pull/2/files
67
- [1.0.0]: https://github.com/TODOvue/tv-footer/pull/1/files