wally-ui 1.0.17 → 1.2.0
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 +73 -4
- package/package.json +1 -1
- package/playground/showcase/src/app/app.routes.ts +4 -0
- package/playground/showcase/src/app/components/breadcrumb/breadcrumb.html +18 -0
- package/playground/showcase/src/app/components/breadcrumb/breadcrumb.ts +20 -0
- package/playground/showcase/src/app/components/button/button.html +6 -12
- package/playground/showcase/src/app/components/button/button.ts +7 -2
- package/playground/showcase/src/app/core/services/ai-prompt.service.ts +43 -0
- package/playground/showcase/src/app/pages/components/breadcrumb-docs/breadcrumb-docs.html +208 -0
- package/playground/showcase/src/app/pages/components/breadcrumb-docs/breadcrumb-docs.ts +43 -0
- package/playground/showcase/src/app/pages/components/button-docs/button-docs.css +0 -0
- package/playground/showcase/src/app/pages/components/button-docs/button-docs.html +455 -0
- package/playground/showcase/src/app/pages/components/{button/button.spec.ts → button-docs/button-docs.spec.ts} +5 -5
- package/playground/showcase/src/app/pages/components/button-docs/button-docs.ts +41 -0
- package/playground/showcase/src/app/pages/components/components.html +126 -9
- package/playground/showcase/src/app/pages/components/components.routes.ts +5 -1
- package/playground/showcase/src/app/pages/components/components.ts +6 -2
- package/playground/showcase/src/app/pages/home/home.html +16 -4
- package/playground/showcase/src/app/pages/mcp/mcp.css +1 -0
- package/playground/showcase/src/app/pages/mcp/mcp.html +196 -0
- package/playground/showcase/src/app/pages/mcp/mcp.spec.ts +23 -0
- package/playground/showcase/src/app/pages/mcp/mcp.ts +16 -0
- package/playground/showcase/src/app/pages/components/button/button.html +0 -192
- package/playground/showcase/src/app/pages/components/button/button.ts +0 -12
- /package/playground/showcase/src/app/pages/components/{button/button.css → breadcrumb-docs/breadcrumb-docs.css} +0 -0
|
@@ -1,16 +1,133 @@
|
|
|
1
|
-
<div class="
|
|
2
|
-
<div class="
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
<div class="max-w-4xl mx-auto p-6 font-mono">
|
|
2
|
+
<div class="mb-4">
|
|
3
|
+
<wally-breadcrumb [items]="breadcrumbItems"></wally-breadcrumb>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<h1 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
7
|
+
Components
|
|
8
|
+
</h1>
|
|
9
|
+
<p class="text-gray-700 dark:text-gray-400 mb-6">
|
|
10
|
+
Explore our collection of reusable Angular components.
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<!-- Requirements -->
|
|
14
|
+
<div id="requirements" class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-6">
|
|
15
|
+
<h3 class="text-sm font-semibold text-[#0a0a0a] dark:text-white mb-3">Requirements</h3>
|
|
16
|
+
|
|
17
|
+
<div class="space-y-3">
|
|
18
|
+
<div>
|
|
19
|
+
<p class="text-sm font-medium text-[#0a0a0a] dark:text-white mb-1">Angular Version</p>
|
|
20
|
+
<p class="text-sm text-gray-700 dark:text-gray-400">
|
|
21
|
+
Angular 17+ required for standalone component support
|
|
22
|
+
</p>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div>
|
|
26
|
+
<p class="text-sm font-medium text-[#0a0a0a] dark:text-white mb-1">Tailwind CSS</p>
|
|
27
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-2">
|
|
28
|
+
Tailwind CSS v3 or v4 must be installed in your project.
|
|
29
|
+
</p>
|
|
30
|
+
<a href="https://tailwindcss.com/blog/tailwindcss-v4" target="_blank"
|
|
31
|
+
class="text-xs text-blue-500 underline hover:text-blue-700">
|
|
32
|
+
Learn about Tailwind v4
|
|
33
|
+
</a>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<div>
|
|
37
|
+
<p class="text-sm font-medium text-[#0a0a0a] dark:text-white mb-1">Installation</p>
|
|
38
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-2">
|
|
39
|
+
Components are standalone and can be installed individually:
|
|
40
|
+
</p>
|
|
41
|
+
<code class="text-sm text-[#0a0a0a] dark:text-white block">
|
|
42
|
+
npx wally-ui add {{ '<' }}component{{ '>' }}
|
|
43
|
+
</code>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<!-- Important Notice -->
|
|
49
|
+
<div id="important-notice"
|
|
50
|
+
class="bg-yellow-100 dark:bg-yellow-900/20 border border-yellow-300 dark:border-yellow-700 p-4 rounded-lg mb-6">
|
|
51
|
+
<h3 class="text-sm font-semibold text-yellow-800 dark:text-yellow-200 mb-2">⚠️ Experimental Project</h3>
|
|
52
|
+
<p class="text-sm text-yellow-700 dark:text-yellow-300">
|
|
53
|
+
Wally UI is currently in experimental development. Components may change and new features are being actively
|
|
54
|
+
developed. Use in production with caution.
|
|
55
|
+
</p>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<!-- List Components -->
|
|
59
|
+
<div id="list-components" class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-6">
|
|
60
|
+
<h3 class="text-sm font-semibold text-[#0a0a0a] dark:text-white mb-2">List Available Components</h3>
|
|
61
|
+
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
62
|
+
npx wally-ui list
|
|
63
|
+
</code>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<!-- File Structure -->
|
|
67
|
+
<div id="installation-structure" class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-8">
|
|
68
|
+
<h3 class="text-sm font-semibold text-[#0a0a0a] dark:text-white mb-3">Installation Structure</h3>
|
|
69
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-3">
|
|
70
|
+
When installing a component, Wally UI will create the following folder structure:
|
|
71
|
+
</p>
|
|
72
|
+
<div class="font-mono text-sm text-[#0a0a0a] dark:text-white">
|
|
73
|
+
<div>src/</div>
|
|
74
|
+
<div>└── app/</div>
|
|
75
|
+
<div> └── components/</div>
|
|
76
|
+
<div> └── wally-ui/</div>
|
|
77
|
+
<div> └── button/</div>
|
|
78
|
+
<div> ├── button.ts
|
|
79
|
+
</div>
|
|
80
|
+
<div> └──
|
|
81
|
+
button.html</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<!-- Available Components -->
|
|
86
|
+
<div id="available-components" class="space-y-4">
|
|
87
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-4">Available Components</h3>
|
|
88
|
+
|
|
89
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4 mb-4">
|
|
90
|
+
<p class="text-sm text-gray-700 dark:text-gray-400">
|
|
91
|
+
More components are being built and will be added soon. Stay tuned for updates!
|
|
9
92
|
</p>
|
|
93
|
+
</div>
|
|
10
94
|
|
|
11
|
-
|
|
95
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
96
|
+
<div class="flex items-center gap-2 mb-2">
|
|
97
|
+
<h4 class="text-md font-semibold text-[#0a0a0a] dark:text-white">Button</h4>
|
|
98
|
+
<span class="text-xs bg-yellow-500 text-black px-2 py-1 rounded">Under Construction</span>
|
|
99
|
+
</div>
|
|
100
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-3">
|
|
101
|
+
A versatile button component with loading states, notifications, and customizable text. Currently being refined
|
|
102
|
+
and improved.
|
|
103
|
+
</p>
|
|
104
|
+
<a href="/components/button" class="text-blue-500 underline hover:text-blue-700 text-sm">
|
|
12
105
|
View Documentation
|
|
13
106
|
</a>
|
|
14
107
|
</div>
|
|
108
|
+
|
|
109
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
110
|
+
<div class="flex items-center gap-2 mb-2">
|
|
111
|
+
<h4 class="text-md font-semibold text-[#0a0a0a] dark:text-white">Breadcrumb</h4>
|
|
112
|
+
<span class="text-xs bg-yellow-500 text-black px-2 py-1 rounded">Under Construction</span>
|
|
113
|
+
</div>
|
|
114
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-3">
|
|
115
|
+
A navigation component that shows the current page location within a hierarchy.
|
|
116
|
+
</p>
|
|
117
|
+
<a href="/components/breadcrumb" class="text-blue-500 underline hover:text-blue-700 text-sm">
|
|
118
|
+
View Documentation
|
|
119
|
+
</a>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4 opacity-60">
|
|
123
|
+
<div class="flex items-center gap-2 mb-2">
|
|
124
|
+
<h4 class="text-md font-semibold text-[#0a0a0a] dark:text-white">Input Text</h4>
|
|
125
|
+
<span class="text-xs bg-blue-500 text-white px-2 py-1 rounded">Coming Soon</span>
|
|
126
|
+
</div>
|
|
127
|
+
<p class="text-sm text-gray-700 dark:text-gray-400">
|
|
128
|
+
A flexible input component with validation, placeholder support, and various styling options. Next in
|
|
129
|
+
development.
|
|
130
|
+
</p>
|
|
131
|
+
</div>
|
|
15
132
|
</div>
|
|
16
133
|
</div>
|
|
@@ -7,6 +7,10 @@ export const componentsRoutes: Routes = [
|
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
path: 'button',
|
|
10
|
-
loadComponent: () => import('./button/button').then(m => m.ButtonDocs)
|
|
10
|
+
loadComponent: () => import('./button-docs/button-docs').then(m => m.ButtonDocs)
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
path: 'breadcrumb',
|
|
14
|
+
loadComponent: () => import('./breadcrumb-docs/breadcrumb-docs').then(m => m.BreadcrumbDocs)
|
|
11
15
|
}
|
|
12
16
|
];
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import { Breadcrumb, BreadcrumbItem } from '../../components/breadcrumb/breadcrumb';
|
|
2
3
|
|
|
3
4
|
@Component({
|
|
4
5
|
selector: 'wally-components',
|
|
5
|
-
imports: [],
|
|
6
|
+
imports: [Breadcrumb],
|
|
6
7
|
templateUrl: './components.html',
|
|
7
8
|
styleUrl: './components.css'
|
|
8
9
|
})
|
|
9
10
|
export class Components {
|
|
10
|
-
|
|
11
|
+
breadcrumbItems: BreadcrumbItem[] = [
|
|
12
|
+
{ label: 'Home', url: '/' },
|
|
13
|
+
{ label: 'Components' }
|
|
14
|
+
];
|
|
11
15
|
}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
</h2>
|
|
10
10
|
<p class="mt-4 text-gray-700 dark:text-gray-400">
|
|
11
11
|
Stop searching for the perfect Angular components. Wally UI brings you a
|
|
12
|
-
collection of ready-to-use, beautifully crafted components
|
|
13
|
-
seamlessly with your projects.
|
|
12
|
+
collection of ready-to-use, beautifully crafted Angular components built with
|
|
13
|
+
standalone architecture and Tailwind CSS that integrate seamlessly with your projects.
|
|
14
14
|
</p>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
@@ -22,10 +22,22 @@
|
|
|
22
22
|
</code>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
|
-
<div class="mt-4 w-full max-w-md">
|
|
26
|
-
<a href="/components
|
|
25
|
+
<div class="mt-4 w-full max-w-md flex flex-col gap-2">
|
|
26
|
+
<a href="/components" class="text-blue-500 underline">
|
|
27
27
|
Documentation
|
|
28
28
|
</a>
|
|
29
|
+
<a href="/mcp" class="text-blue-500 underline">
|
|
30
|
+
MCP Server
|
|
31
|
+
</a>
|
|
32
|
+
|
|
33
|
+
<div class="flex gap-4 mt-2">
|
|
34
|
+
<a href="https://github.com/WalissonCF/wally-ui" target="_blank" class="text-blue-500 underline text-sm">
|
|
35
|
+
GitHub
|
|
36
|
+
</a>
|
|
37
|
+
<a href="https://www.npmjs.com/package/wally-ui" target="_blank" class="text-blue-500 underline text-sm">
|
|
38
|
+
NPM
|
|
39
|
+
</a>
|
|
40
|
+
</div>
|
|
29
41
|
</div>
|
|
30
42
|
</div>
|
|
31
43
|
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* MCP page styles - following project patterns */
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
<div class="max-w-4xl mx-auto p-6 font-mono">
|
|
2
|
+
<div class="mb-4">
|
|
3
|
+
<wally-breadcrumb [items]="breadcrumbItems"></wally-breadcrumb>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<!-- Header -->
|
|
7
|
+
<div class="mb-8">
|
|
8
|
+
<h1 class="text-4xl font-bold text-[#0a0a0a] dark:text-white mb-2">
|
|
9
|
+
Wally UI MCP Server
|
|
10
|
+
</h1>
|
|
11
|
+
<p class="text-lg text-gray-700 dark:text-gray-400">
|
|
12
|
+
Model Context Protocol server for intelligent AI-powered component installation with Claude Desktop.
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<!-- Installation Section -->
|
|
17
|
+
<section class="mb-8">
|
|
18
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
19
|
+
Installation
|
|
20
|
+
</h2>
|
|
21
|
+
|
|
22
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4 mb-4">
|
|
23
|
+
<code class="text-[#0a0a0a] dark:text-white">
|
|
24
|
+
<pre class="m-0">npm install -g wally-ui-mcp</pre>
|
|
25
|
+
</code>
|
|
26
|
+
</div>
|
|
27
|
+
</section>
|
|
28
|
+
|
|
29
|
+
<!-- Configuration Section -->
|
|
30
|
+
<section class="mb-8">
|
|
31
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
32
|
+
Configuration
|
|
33
|
+
</h2>
|
|
34
|
+
|
|
35
|
+
<p class="text-gray-700 dark:text-gray-400 mb-4">
|
|
36
|
+
Add to your Claude Desktop configuration file:
|
|
37
|
+
</p>
|
|
38
|
+
|
|
39
|
+
<div class="mb-4">
|
|
40
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-2">
|
|
41
|
+
<strong>Mac:</strong> <code
|
|
42
|
+
class="bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">~/Library/Application Support/Claude/claude_desktop_config.json</code>
|
|
43
|
+
</p>
|
|
44
|
+
<p class="text-sm text-gray-700 dark:text-gray-400 mb-4">
|
|
45
|
+
<strong>Windows:</strong> <code
|
|
46
|
+
class="bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">%APPDATA%\Claude\claude_desktop_config.json</code>
|
|
47
|
+
</p>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4 mb-4">
|
|
51
|
+
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
52
|
+
{{ '{' }}<br>
|
|
53
|
+
"mcpServers": {{ '{' }}<br>
|
|
54
|
+
"wally-ui": {{ '{' }}<br>
|
|
55
|
+
"command": "npx",<br>
|
|
56
|
+
"args": ["wally-ui-mcp"],<br>
|
|
57
|
+
"env": {{ '{' }}{{ '}' }}<br>
|
|
58
|
+
{{ '}' }}<br>
|
|
59
|
+
{{ '}' }}<br>
|
|
60
|
+
{{ '}' }}
|
|
61
|
+
</code>
|
|
62
|
+
</div>
|
|
63
|
+
</section>
|
|
64
|
+
|
|
65
|
+
<!-- Features Section -->
|
|
66
|
+
<section class="mb-8">
|
|
67
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
68
|
+
Available Tools
|
|
69
|
+
</h2>
|
|
70
|
+
|
|
71
|
+
<div class="grid gap-4 md:grid-cols-2">
|
|
72
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
73
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
74
|
+
install-component
|
|
75
|
+
</h3>
|
|
76
|
+
<p class="text-gray-700 dark:text-gray-400 text-sm mb-2">
|
|
77
|
+
Installs Wally UI components directly into your Angular project.
|
|
78
|
+
</p>
|
|
79
|
+
<code class="text-xs bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">
|
|
80
|
+
componentName: string
|
|
81
|
+
</code>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
85
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
86
|
+
list-components
|
|
87
|
+
</h3>
|
|
88
|
+
<p class="text-gray-700 dark:text-gray-400 text-sm mb-2">
|
|
89
|
+
Lists all available components in the Wally UI library.
|
|
90
|
+
</p>
|
|
91
|
+
<code class="text-xs bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">
|
|
92
|
+
No parameters
|
|
93
|
+
</code>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
97
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
98
|
+
validate-component
|
|
99
|
+
</h3>
|
|
100
|
+
<p class="text-gray-700 dark:text-gray-400 text-sm mb-2">
|
|
101
|
+
Validates component structure and integrity.
|
|
102
|
+
</p>
|
|
103
|
+
<code class="text-xs bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">
|
|
104
|
+
componentName: string
|
|
105
|
+
</code>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
109
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
110
|
+
generate-docs
|
|
111
|
+
</h3>
|
|
112
|
+
<p class="text-gray-700 dark:text-gray-400 text-sm mb-2">
|
|
113
|
+
Generates documentation for components.
|
|
114
|
+
</p>
|
|
115
|
+
<code class="text-xs bg-gray-200 dark:bg-[#121212] px-2 py-1 rounded text-[#0a0a0a] dark:text-white">
|
|
116
|
+
componentName: string
|
|
117
|
+
</code>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</section>
|
|
121
|
+
|
|
122
|
+
<!-- Usage Examples -->
|
|
123
|
+
<section class="mb-8">
|
|
124
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
125
|
+
Usage Examples
|
|
126
|
+
</h2>
|
|
127
|
+
|
|
128
|
+
<div class="space-y-4">
|
|
129
|
+
<div>
|
|
130
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
131
|
+
List Available Components
|
|
132
|
+
</h3>
|
|
133
|
+
<p class="text-gray-700 dark:text-gray-400 mb-2">
|
|
134
|
+
Ask Claude to show you what components are available:
|
|
135
|
+
</p>
|
|
136
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
137
|
+
<code class="text-[#0a0a0a] dark:text-white">
|
|
138
|
+
<pre class="m-0">"Show me the available Wally UI components"</pre>
|
|
139
|
+
</code>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
<div>
|
|
144
|
+
<h3 class="text-lg font-semibold text-[#0a0a0a] dark:text-white mb-2">
|
|
145
|
+
Install a Component
|
|
146
|
+
</h3>
|
|
147
|
+
<p class="text-gray-700 dark:text-gray-400 mb-2">
|
|
148
|
+
Ask Claude to install a specific component in your project:
|
|
149
|
+
</p>
|
|
150
|
+
<div class="bg-gray-200 dark:bg-[#121212] rounded-lg p-4">
|
|
151
|
+
<code class="text-[#0a0a0a] dark:text-white">
|
|
152
|
+
<pre class="m-0">"Install the button component from Wally UI in my Angular project"</pre>
|
|
153
|
+
</code>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
</section>
|
|
158
|
+
|
|
159
|
+
<!-- Requirements -->
|
|
160
|
+
<section class="mb-8">
|
|
161
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
162
|
+
Requirements
|
|
163
|
+
</h2>
|
|
164
|
+
|
|
165
|
+
<ul class="list-disc list-inside text-gray-700 dark:text-gray-400 space-y-2">
|
|
166
|
+
<li>Node.js 18+</li>
|
|
167
|
+
<li>Claude Desktop with MCP support</li>
|
|
168
|
+
<li>Angular project (for component installation)</li>
|
|
169
|
+
<li>Tailwind CSS configured in your project</li>
|
|
170
|
+
</ul>
|
|
171
|
+
</section>
|
|
172
|
+
|
|
173
|
+
<!-- Links -->
|
|
174
|
+
<section class="mb-8">
|
|
175
|
+
<h2 class="text-2xl font-bold text-[#0a0a0a] dark:text-white mb-4">
|
|
176
|
+
Links
|
|
177
|
+
</h2>
|
|
178
|
+
|
|
179
|
+
<div class="flex flex-wrap gap-4">
|
|
180
|
+
<a href="https://www.npmjs.com/package/wally-ui-mcp" target="_blank"
|
|
181
|
+
class="text-blue-500 underline hover:text-blue-700">
|
|
182
|
+
NPM Package
|
|
183
|
+
</a>
|
|
184
|
+
<a href="https://github.com/WalissonCF/wally-ui" target="_blank"
|
|
185
|
+
class="text-blue-500 underline hover:text-blue-700">
|
|
186
|
+
GitHub Repository
|
|
187
|
+
</a>
|
|
188
|
+
<a href="https://modelcontextprotocol.io/" target="_blank" class="text-blue-500 underline hover:text-blue-700">
|
|
189
|
+
Model Context Protocol
|
|
190
|
+
</a>
|
|
191
|
+
<a href="/components" class="text-blue-500 underline hover:text-blue-700">
|
|
192
|
+
Browse Components
|
|
193
|
+
</a>
|
|
194
|
+
</div>
|
|
195
|
+
</section>
|
|
196
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { Mcp } from './mcp';
|
|
4
|
+
|
|
5
|
+
describe('Mcp', () => {
|
|
6
|
+
let component: Mcp;
|
|
7
|
+
let fixture: ComponentFixture<Mcp>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
imports: [Mcp]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(Mcp);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
import { Breadcrumb, BreadcrumbItem } from '../../components/breadcrumb/breadcrumb';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'wally-mcp',
|
|
7
|
+
imports: [Breadcrumb],
|
|
8
|
+
templateUrl: './mcp.html',
|
|
9
|
+
styleUrl: './mcp.css'
|
|
10
|
+
})
|
|
11
|
+
export class MCP {
|
|
12
|
+
breadcrumbItems: BreadcrumbItem[] = [
|
|
13
|
+
{ label: 'Home', url: '/' },
|
|
14
|
+
{ label: 'MCP Server' }
|
|
15
|
+
];
|
|
16
|
+
}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
<div class="font-mono">
|
|
2
|
-
<div class="max-w-4xl mx-auto p-6">
|
|
3
|
-
<h1 class="text-4xl font-bold mb-4 text-[#0a0a0a] dark:text-white">
|
|
4
|
-
Button
|
|
5
|
-
</h1>
|
|
6
|
-
<p class="text-lg mb-12 text-gray-700 dark:text-gray-400">
|
|
7
|
-
A versatile button component with loading states, notifications, and customizable text.
|
|
8
|
-
</p>
|
|
9
|
-
|
|
10
|
-
<!-- Basic Usage -->
|
|
11
|
-
<section class="mb-12">
|
|
12
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">
|
|
13
|
-
Basic Usage
|
|
14
|
-
</h2>
|
|
15
|
-
|
|
16
|
-
<div class="space-y-8">
|
|
17
|
-
<div>
|
|
18
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
19
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
20
|
-
{{ '<' }}wally-button{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
21
|
-
</code>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
24
|
-
<wally-button></wally-button>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</section>
|
|
29
|
-
|
|
30
|
-
<!-- Custom Text -->
|
|
31
|
-
<section class="mb-12">
|
|
32
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">
|
|
33
|
-
Custom Text
|
|
34
|
-
</h2>
|
|
35
|
-
|
|
36
|
-
<div class="space-y-8">
|
|
37
|
-
<div>
|
|
38
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
39
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
40
|
-
{{ '<' }}wally-button text="Save Changes"{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
41
|
-
</code>
|
|
42
|
-
</div>
|
|
43
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
44
|
-
<wally-button text="Save Changes"></wally-button>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</section>
|
|
49
|
-
|
|
50
|
-
<!-- States -->
|
|
51
|
-
<section class="mb-12">
|
|
52
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">
|
|
53
|
-
States
|
|
54
|
-
</h2>
|
|
55
|
-
|
|
56
|
-
<div class="space-y-8">
|
|
57
|
-
<!-- Disabled -->
|
|
58
|
-
<div>
|
|
59
|
-
<h3 class="text-lg font-medium mb-3 text-[#0a0a0a] dark:text-white">
|
|
60
|
-
Disabled
|
|
61
|
-
</h3>
|
|
62
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
63
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
64
|
-
{{ '<' }}wally-button text="Disabled" [disabled]="true"{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
65
|
-
</code>
|
|
66
|
-
</div>
|
|
67
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
68
|
-
<wally-button text="Disabled" [disabled]="true"></wally-button>
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
<!-- Loading -->
|
|
73
|
-
<div>
|
|
74
|
-
<h3 class="text-lg font-medium mb-3 text-[#0a0a0a] dark:text-white">
|
|
75
|
-
Loading
|
|
76
|
-
</h3>
|
|
77
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
78
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
79
|
-
{{ '<' }}wally-button text="Loading" [loading]="true"{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
80
|
-
</code>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
83
|
-
<wally-button text="Loading" [loading]="true"></wally-button>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
|
|
87
|
-
<!-- With Notification -->
|
|
88
|
-
<div>
|
|
89
|
-
<h3 class="text-lg font-medium mb-3 text-[#0a0a0a] dark:text-white">
|
|
90
|
-
With Notification Badge
|
|
91
|
-
</h3>
|
|
92
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
93
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
94
|
-
{{ '<' }}wally-button text="Messages" [showNotification]="true"{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
95
|
-
</code>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
98
|
-
<wally-button text="Messages" [showNotification]="true"></wally-button>
|
|
99
|
-
</div>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
</section>
|
|
103
|
-
|
|
104
|
-
<!-- Button Types -->
|
|
105
|
-
<section class="mb-12">
|
|
106
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">
|
|
107
|
-
Button Types
|
|
108
|
-
</h2>
|
|
109
|
-
|
|
110
|
-
<div class="space-y-8">
|
|
111
|
-
<div>
|
|
112
|
-
<h3 class="text-lg font-medium mb-3 text-[#0a0a0a] dark:text-white">Submit Button</h3>
|
|
113
|
-
<div class="bg-gray-200 dark:bg-[#121212] p-4 rounded-lg mb-4">
|
|
114
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
115
|
-
{{ '<' }}wally-button text="Submit Form" type="submit"{{ '>' }}{{ '<' }}/wally-button{{ '>' }}
|
|
116
|
-
</code>
|
|
117
|
-
</div>
|
|
118
|
-
<div class="p-6 border rounded-lg bg-white dark:bg-[#121212]">
|
|
119
|
-
<wally-button text="Submit Form" type="submit"></wally-button>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
</section>
|
|
124
|
-
|
|
125
|
-
<!-- Properties -->
|
|
126
|
-
<section class="mb-12">
|
|
127
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">Properties</h2>
|
|
128
|
-
|
|
129
|
-
<div class="space-y-4">
|
|
130
|
-
<div class="p-4 bg-gray-200 dark:bg-[#121212] rounded-lg">
|
|
131
|
-
<div class="font-mono text-sm mb-2">
|
|
132
|
-
<span class="text-blue-600 dark:text-blue-400">text</span><span class="text-[#0a0a0a] dark:text-white">: </span>
|
|
133
|
-
<span class="text-purple-600 dark:text-purple-400">string</span> <span class="text-[#0a0a0a] dark:text-white"> = </span>
|
|
134
|
-
<span class="text-green-600 dark:text-green-400">'Wally Button'</span>
|
|
135
|
-
<span class="text-[#0a0a0a] dark:text-white">;</span>
|
|
136
|
-
</div>
|
|
137
|
-
<p class="text-sm text-gray-700 dark:text-gray-400">The text displayed on the button</p>
|
|
138
|
-
</div>
|
|
139
|
-
|
|
140
|
-
<div class="p-4 bg-gray-200 dark:bg-[#121212] rounded-lg">
|
|
141
|
-
<div class="font-mono text-sm mb-2">
|
|
142
|
-
<span class="text-blue-600 dark:text-blue-400">type</span><span class="text-[#0a0a0a] dark:text-white">: </span>
|
|
143
|
-
<span class="text-purple-600 dark:text-purple-400">string</span> <span class="text-[#0a0a0a] dark:text-white"> = </span>
|
|
144
|
-
<span class="text-green-600 dark:text-green-400">'button'</span>
|
|
145
|
-
<span class="text-[#0a0a0a] dark:text-white">;</span>
|
|
146
|
-
</div>
|
|
147
|
-
<p class="text-sm text-gray-700 dark:text-gray-400">HTML button type (button, submit, reset)</p>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
<div class="p-4 bg-gray-200 dark:bg-[#121212] rounded-lg">
|
|
151
|
-
<div class="font-mono text-sm mb-2">
|
|
152
|
-
<span class="text-blue-600 dark:text-blue-400">disabled</span><span class="text-[#0a0a0a] dark:text-white">: </span>
|
|
153
|
-
<span class="text-purple-600 dark:text-purple-400">boolean</span> <span class="text-[#0a0a0a] dark:text-white"> = </span>
|
|
154
|
-
<span class="text-green-600 dark:text-green-400">false</span>
|
|
155
|
-
<span class="text-[#0a0a0a] dark:text-white">;</span>
|
|
156
|
-
</div>
|
|
157
|
-
<p class="text-sm text-gray-700 dark:text-gray-400">Whether the button is disabled</p>
|
|
158
|
-
</div>
|
|
159
|
-
|
|
160
|
-
<div class="p-4 bg-gray-200 dark:bg-[#121212] rounded-lg">
|
|
161
|
-
<div class="font-mono text-sm mb-2">
|
|
162
|
-
<span class="text-blue-600 dark:text-blue-400">loading</span><span class="text-[#0a0a0a] dark:text-white">: </span>
|
|
163
|
-
<span class="text-purple-600 dark:text-purple-400">boolean</span> <span class="text-[#0a0a0a] dark:text-white"> = </span>
|
|
164
|
-
<span class="text-green-600 dark:text-green-400">false</span>
|
|
165
|
-
<span class="text-[#0a0a0a] dark:text-white">;</span>
|
|
166
|
-
</div>
|
|
167
|
-
<p class="text-sm text-gray-700 dark:text-gray-400">Shows loading spinner when true</p>
|
|
168
|
-
</div>
|
|
169
|
-
|
|
170
|
-
<div class="p-4 bg-gray-200 dark:bg-[#121212] rounded-lg">
|
|
171
|
-
<div class="font-mono text-sm mb-2">
|
|
172
|
-
<span class="text-blue-600 dark:text-blue-400">showNotification</span><span class="text-[#0a0a0a] dark:text-white">: </span>
|
|
173
|
-
<span class="text-purple-600 dark:text-purple-400">boolean</span> <span class="text-[#0a0a0a] dark:text-white"> = </span>
|
|
174
|
-
<span class="text-green-600 dark:text-green-400">false</span>
|
|
175
|
-
<span class="text-[#0a0a0a] dark:text-white">;</span>
|
|
176
|
-
</div>
|
|
177
|
-
<p class="text-sm text-gray-700 dark:text-gray-400">Shows notification badge when true</p>
|
|
178
|
-
</div>
|
|
179
|
-
</div>
|
|
180
|
-
</section>
|
|
181
|
-
|
|
182
|
-
<!-- Import -->
|
|
183
|
-
<section class="mb-12">
|
|
184
|
-
<h2 class="text-2xl font-semibold mb-6 text-[#0a0a0a] dark:text-white">Import</h2>
|
|
185
|
-
<div class="p-4 rounded-lg bg-gray-200 dark:bg-[#121212]">
|
|
186
|
-
<code class="text-sm text-[#0a0a0a] dark:text-white">
|
|
187
|
-
import {{ '{' }} Button {{ '}' }} from './components/button/button';
|
|
188
|
-
</code>
|
|
189
|
-
</div>
|
|
190
|
-
</section>
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Button as WallyButton } from '../../../components/button/button';
|
|
3
|
-
|
|
4
|
-
@Component({
|
|
5
|
-
selector: 'app-button-docs',
|
|
6
|
-
imports: [WallyButton],
|
|
7
|
-
templateUrl: './button.html',
|
|
8
|
-
styleUrl: './button.css'
|
|
9
|
-
})
|
|
10
|
-
export class ButtonDocs {
|
|
11
|
-
|
|
12
|
-
}
|
|
File without changes
|