@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.
- package/README.md +20 -20
- package/dist/entry.d.ts +2 -2
- package/dist/tv-ui.cjs.js +1 -1
- package/dist/tv-ui.css +1 -1
- package/dist/tv-ui.es.js +50 -49
- package/package.json +4 -2
- package/dist/.htaccess +0 -8
- package/dist/demos/tv-alert/CHANGELOG.md +0 -127
- package/dist/demos/tv-alert/README.md +0 -334
- package/dist/demos/tv-article/CHANGELOG.md +0 -221
- package/dist/demos/tv-article/README.md +0 -258
- package/dist/demos/tv-breadcrumbs/CHANGELOG.md +0 -135
- package/dist/demos/tv-breadcrumbs/README.md +0 -364
- package/dist/demos/tv-button/CHANGELOG.md +0 -158
- package/dist/demos/tv-button/README.md +0 -255
- package/dist/demos/tv-card/CHANGELOG.md +0 -158
- package/dist/demos/tv-card/README.md +0 -332
- package/dist/demos/tv-demo/CHANGELOG.md +0 -352
- package/dist/demos/tv-demo/README.md +0 -229
- package/dist/demos/tv-footer/CHANGELOG.md +0 -67
- package/dist/demos/tv-footer/README.md +0 -760
- package/dist/demos/tv-hero/CHANGELOG.md +0 -137
- package/dist/demos/tv-hero/README.md +0 -410
- package/dist/demos/tv-label/CHANGELOG.md +0 -138
- package/dist/demos/tv-label/README.md +0 -357
- package/dist/demos/tv-menu/CHANGELOG.md +0 -145
- package/dist/demos/tv-menu/README.md +0 -389
- package/dist/demos/tv-modal/CHANGELOG.md +0 -127
- package/dist/demos/tv-modal/README.md +0 -466
- package/dist/demos/tv-pagination/CHANGELOG.md +0 -125
- package/dist/demos/tv-pagination/README.md +0 -275
- package/dist/demos/tv-progress-bar/CHANGELOG.md +0 -84
- package/dist/demos/tv-progress-bar/README.md +0 -894
- package/dist/demos/tv-relative-time/CHANGELOG.md +0 -122
- package/dist/demos/tv-relative-time/README.md +0 -405
- package/dist/demos/tv-scroll-top/CHANGELOG.md +0 -69
- package/dist/demos/tv-scroll-top/README.md +0 -445
- package/dist/demos/tv-search/CHANGELOG.md +0 -155
- package/dist/demos/tv-search/README.md +0 -407
- package/dist/demos/tv-settings/CHANGELOG.md +0 -94
- package/dist/demos/tv-settings/README.md +0 -314
- package/dist/demos/tv-sidebar/CHANGELOG.md +0 -229
- package/dist/demos/tv-sidebar/README.md +0 -592
- package/dist/demos/tv-theme-button/CHANGELOG.md +0 -136
- package/dist/demos/tv-theme-button/README.md +0 -392
- package/dist/demos/tv-toc/CHANGELOG.md +0 -80
- package/dist/demos/tv-toc/README.md +0 -288
- 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
|
-
[](https://www.npmjs.com/package/@todovue/tv-demo)
|
|
8
|
-
[](https://www.npmjs.com/package/@todovue/tv-demo)
|
|
9
|
-
[](https://www.npmjs.com/package/@todovue/tv-demo)
|
|
10
|
-

|
|
11
|
-

|
|
12
|
-

|
|
13
|
-

|
|
14
|
-

|
|
15
|
-

|
|
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
|