wally-ui 1.11.0 β†’ 1.11.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 CHANGED
@@ -1,161 +1,157 @@
1
1
  # Wally UI
2
2
 
3
- > A modern Angular component library built with standalone components, Tailwind CSS, and enterprise-grade accessibility.
3
+ A modern Angular component library with individual component installation, Tailwind CSS styling, and enterprise-grade accessibility.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/wally-ui.svg)](https://www.npmjs.com/package/wally-ui)
6
6
  [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- **[Live Demo & Documentation](https://wally-ui.com/)**
8
+ **[Live Documentation](https://wally-ui.com/)**
9
9
 
10
- ## Why Wally UI?
10
+ ## Installation
11
11
 
12
- - **Zero Configuration**: Install components individually - no bloated bundles
13
- - **Accessibility First**: Enterprise-grade a11y with ARIA support and screen reader compatibility
14
- - **Dark Mode Native**: Complete light/dark theme support out of the box
15
- - **SSR Ready**: Full Server-Side Rendering support for performance
16
- - **Tailwind Powered**: Beautiful, customizable styling with Tailwind CSS v3/v4
17
-
18
- ## Requirements
12
+ ### List all available components
13
+ ```bash
14
+ npx wally-ui list
15
+ ```
19
16
 
20
- - **Tailwind CSS v3 or v4**
21
- - **Node.js 18+**
17
+ ### Install a component
18
+ ```bash
19
+ npx wally-ui add button
20
+ npx wally-ui add input
21
+ npx wally-ui add carousel
22
+ npx wally-ui add breadcrumb
23
+ ```
22
24
 
23
- ## πŸ“¦ Available Components
25
+ Components are installed directly into `src/app/components/wally-ui/{component}/`
24
26
 
25
- | Component | Status | Description |
26
- |-----------|--------|-------------|
27
- | **Input** | βœ… **New** | Full-featured input with validation, loading states, and FormGroup support |
28
- | **Button** | 🚧 Under Construction | Versatile button with loading states and notifications |
29
- | **Breadcrumb** | 🚧 Under Construction | Navigation breadcrumb component |
27
+ ## Requirements
30
28
 
31
- ## πŸš€ Quick Start
29
+ - Tailwind CSS v3 or v4
30
+ - Node.js 18+
31
+ - Angular 17+
32
32
 
33
- ### 1. Install a component
34
- ```bash
35
- # Install the Input component (recommended for forms)
36
- npx wally-ui add input
33
+ ## Available Components
37
34
 
38
- # Install other components
39
- npx wally-ui add button
35
+ | Component | Status | Features |
36
+ |-----------|--------|----------|
37
+ | **Button** | Production | Variants (primary, secondary), loading states, ARIA support |
38
+ | **Input** | Production | Form integration, validation, password toggle, loading states |
39
+ | **Carousel** | Production | Touch gestures, keyboard navigation, circular buffer algorithm |
40
+ | **Breadcrumb** | Production | Semantic HTML, ARIA navigation, responsive design |
40
41
 
41
- # List all available components
42
- npx wally-ui list
43
- ```
42
+ ## Quick Start
44
43
 
45
- ### 2. Import and use in your Angular component
44
+ ### Basic Usage
46
45
  ```typescript
47
46
  import { Component } from '@angular/core';
48
- import { Input } from './components/wally-ui/input/input';
47
+ import { Button } from './components/wally-ui/button/button';
49
48
 
50
49
  @Component({
51
50
  selector: 'app-example',
52
- imports: [Input], // Standalone component import
51
+ imports: [Button],
53
52
  template: `
54
- <wally-input
55
- label="Email Address"
56
- type="email"
57
- placeholder="Enter your email">
58
- </wally-input>
53
+ <wally-button variant="primary">Click me</wally-button>
59
54
  `
60
55
  })
61
56
  export class ExampleComponent {}
62
57
  ```
63
58
 
64
- ### 3. For reactive forms (recommended)
59
+ ### Reactive Forms Integration
65
60
  ```typescript
66
- import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
61
+ import { Component } from '@angular/core';
62
+ import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
67
63
  import { Input } from './components/wally-ui/input/input';
68
64
 
69
65
  @Component({
66
+ selector: 'app-form',
70
67
  imports: [Input, ReactiveFormsModule],
71
68
  template: `
72
- <form [formGroup]="userForm">
69
+ <form [formGroup]="form">
73
70
  <wally-input
74
71
  formControlName="email"
75
72
  label="Email"
76
- type="email"
77
- [valid]="isFieldValid('email')"
78
- [errorMessage]="getFieldError('email')">
73
+ type="email">
79
74
  </wally-input>
80
75
  </form>
81
76
  `
82
77
  })
83
78
  export class FormComponent {
84
- userForm = this.fb.group({
79
+ form = this.fb.group({
85
80
  email: ['', [Validators.required, Validators.email]]
86
81
  });
82
+
83
+ constructor(private fb: FormBuilder) {}
87
84
  }
88
85
  ```
89
86
 
90
- ## Project Structure
87
+ ## Component Examples
91
88
 
92
- Components are installed directly into your project with zero dependencies:
89
+ ### Button Component
90
+ ```html
91
+ <!-- Variants -->
92
+ <wally-button variant="primary">Primary Button</wally-button>
93
+ <wally-button variant="secondary">Secondary Button</wally-button>
93
94
 
95
+ <!-- States -->
96
+ <wally-button [loading]="true">Loading...</wally-button>
97
+ <wally-button [disabled]="true">Disabled</wally-button>
94
98
  ```
95
- src/app/components/wally-ui/
96
- β”œβ”€β”€ input/
97
- β”‚ β”œβ”€β”€ input.ts # Component logic with Angular signals
98
- β”‚ └── input.html # Template with Tailwind styling
99
- └── button/
100
- β”œβ”€β”€ button.ts
101
- └── button.html
102
- ```
103
-
104
- ## Features Showcase
105
99
 
106
- ### Input Component (v1.5.0)
100
+ ### Input Component
107
101
  ```html
108
- <!-- All input states supported -->
102
+ <!-- Basic input -->
109
103
  <wally-input label="Username" placeholder="Enter username"></wally-input>
110
- <wally-input [loading]="true" placeholder="Processing..."></wally-input>
111
- <wally-input [valid]="true" placeholder="Valid input"></wally-input>
112
- <wally-input errorMessage="Field is required"></wally-input>
113
- <wally-input [disabled]="true" placeholder="Disabled input"></wally-input>
114
104
 
115
105
  <!-- Password with toggle -->
116
106
  <wally-input type="password" label="Password"></wally-input>
117
107
 
118
- <!-- FormGroup integration -->
119
- <wally-input formControlName="email" type="email"></wally-input>
108
+ <!-- States -->
109
+ <wally-input [loading]="true"></wally-input>
110
+ <wally-input [valid]="true"></wally-input>
111
+ <wally-input errorMessage="Required field"></wally-input>
120
112
  ```
121
113
 
122
- **Features:**
123
- - βœ… Complete ControlValueAccessor implementation
124
- - βœ… Angular Signals architecture (Angular 20+ optimized)
125
- - βœ… Loading, valid, error, disabled states
126
- - βœ… Password visibility toggle
127
- - βœ… Full accessibility (ARIA attributes, screen readers)
128
- - βœ… Dark mode support
129
- - βœ… TypeScript interfaces
114
+ ### Carousel Component
115
+ ```html
116
+ <wally-carousel>
117
+ <div>Slide 1</div>
118
+ <div>Slide 2</div>
119
+ <div>Slide 3</div>
120
+ </wally-carousel>
121
+ ```
130
122
 
131
- ## AI Assistant Ready
123
+ ### Breadcrumb Component
124
+ ```html
125
+ <wally-breadcrumb [items]="[
126
+ { label: 'Home', link: '/' },
127
+ { label: 'Components', link: '/components' },
128
+ { label: 'Button' }
129
+ ]"></wally-breadcrumb>
130
+ ```
132
131
 
133
- This library is designed to work seamlessly with AI coding assistants:
132
+ ## Project Structure
134
133
 
135
- - **Clear Documentation**: Comprehensive examples and API references
136
- - **Semantic Naming**: Intuitive component and property names
137
- - **Copy-Paste Ready**: All examples work out of the box
138
- - **IntelliSense**: Full TypeScript support for autocomplete
134
+ Components install into:
135
+ ```
136
+ src/app/components/wally-ui/{component}/
137
+ β”œβ”€β”€ {component}.ts # Component logic
138
+ └── {component}.html # Template
139
+ ```
139
140
 
140
- ## Documentation & Examples
141
+ ## Features
141
142
 
142
- - **[Complete Documentation](https://wally-ui.com/documentation)**
143
- - **[Component Examples](https://wally-ui.com/documentation/components)**
144
- - **[Live Playground](https://wally-ui.com/)**
143
+ - Zero configuration - install only what you need
144
+ - Enterprise-grade accessibility with ARIA support
145
+ - Dark mode support out of the box
146
+ - Server-Side Rendering compatible
147
+ - Angular Signals architecture
148
+ - TypeScript interfaces included
149
+ - Copy-paste ready examples
145
150
 
146
- ## Roadmap
151
+ ## Documentation
147
152
 
148
- - [ ] **Select Component** - Dropdown with search and multi-select
149
- - [ ] **Modal Component** - Overlay dialogs and popups
150
- - [ ] **Table Component** - Data tables with sorting and pagination
151
- - [ ] **Form Component** - Complete form wrapper with validation
152
- - [ ] **Card Component** - Content containers
153
- - [ ] **Badge Component** - Status indicators
153
+ Full documentation and live examples: **[wally-ui.com](https://wally-ui.com/)**
154
154
 
155
155
  ## License
156
156
 
157
- MIT Β© [Walisson Carvalho](https://github.com/walissoncarvalho)
158
-
159
- ---
160
-
161
- **Built with for the Angular community**
157
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wally-ui",
3
- "version": "1.11.0",
3
+ "version": "1.11.2",
4
4
  "description": "About Where’s Wally? Right here β€” bringing you ready-to-use Angular components with Wally-UI. Stop searching, start building.",
5
5
  "bin": {
6
6
  "wally": "dist/cli.js"
@@ -1,12 +1,13 @@
1
1
  import { Component, signal, ViewChild, ElementRef, AfterViewInit, Renderer2, OnDestroy, HostListener, WritableSignal, input, InputSignal } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { it } from 'node:test';
3
4
 
4
5
  @Component({
5
6
  selector: 'wally-carousel',
6
7
  imports: [CommonModule],
7
8
  templateUrl: './carousel.html',
8
9
  })
9
- export class Carousel implements AfterViewInit, OnDestroy {
10
+ export class Carousel implements AfterViewInit {
10
11
  @ViewChild('carouselContainer', { static: false }) carouselContainer!: ElementRef;
11
12
 
12
13
  isNavigationIndicator: InputSignal<boolean> = input<boolean>(false);