angular-material-wrap 0.1.0-beta.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 ADDED
@@ -0,0 +1,165 @@
1
+ # Angular Material Wrap
2
+
3
+ A comprehensive Angular library providing enhanced Material Design components, complete page layouts, and advanced UI patterns built on top of Angular Material.
4
+
5
+ ## Features
6
+
7
+ - **Enhanced Controls** (20+ components): Advanced wrappers for Angular Material controls with additional functionality
8
+ - **Complex Components** (10+ components): Ready-to-use components like Calendar, Data Table, Dialog, and more
9
+ - **Page Layouts** (6 stereotypes): Complete page templates for common use cases (List, Detail, Form, Search, Workflow, Report)
10
+ - **Theme Management**: Material Design 3 implementation with dynamic theme switching
11
+ - **TypeScript**: Full type safety and IntelliSense support
12
+ - **Tree-shakable**: Optimized bundle size with ES modules
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install angular-material-wrap
18
+ ```
19
+
20
+ ## Peer Dependencies
21
+
22
+ This library requires the following peer dependencies:
23
+
24
+ ```json
25
+ {
26
+ "@angular/animations": "^21.0.0",
27
+ "@angular/cdk": "^21.0.0",
28
+ "@angular/common": "^21.0.0",
29
+ "@angular/core": "^21.0.0",
30
+ "@angular/forms": "^21.0.0",
31
+ "@angular/material": "^21.0.0",
32
+ "@angular/platform-browser": "^21.0.0"
33
+ }
34
+ ```
35
+
36
+ Install them using:
37
+
38
+ ```bash
39
+ npm install @angular/animations @angular/cdk @angular/common @angular/core @angular/forms @angular/material @angular/platform-browser
40
+ ```
41
+
42
+ ## Quick Start
43
+
44
+ ### Import Components
45
+
46
+ ```typescript
47
+ import { Component } from '@angular/core';
48
+ import { AmwButtonComponent } from 'angular-material-wrap';
49
+
50
+ @Component({
51
+ selector: 'app-root',
52
+ standalone: true,
53
+ imports: [AmwButtonComponent],
54
+ template: `
55
+ <amw-button
56
+ label="Click me"
57
+ type="raised"
58
+ color="primary"
59
+ (clicked)="handleClick()">
60
+ </amw-button>
61
+ `
62
+ })
63
+ export class AppComponent {
64
+ handleClick() {
65
+ console.log('Button clicked!');
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### Available Components
71
+
72
+ #### Controls
73
+ - **Form Controls**: `AmwButtonComponent`, `AmwInputComponent`, `AmwSelectComponent`, `AmwCheckboxComponent`, `AmwRadioComponent`, `AmwSwitchComponent`, `AmwToggleComponent`, `AmwSliderComponent`, `AmwRangeSliderComponent`
74
+ - **Advanced Controls**: `AmwAutocompleteComponent`, `AmwChipsComponent`, `AmwColorPickerComponent`, `AmwDatePickerComponent`, `AmwTimePickerComponent`, `AmwFileInputComponent`
75
+ - **Data Controls**: `AmwDataTableComponent`
76
+
77
+ #### Components
78
+ - **Layout**: `AmwCardComponent`, `AmwDialogComponent`, `AmwPopoverComponent`, `AmwSidenavComponent`, `AmwStepperComponent`, `AmwTabsComponent`, `AmwAccordionComponent`
79
+ - **Data Display**: `AmwCalendarComponent` (Full, Mini, Item Dialog, Item Editor)
80
+
81
+ #### Pages
82
+ - `AmwListPageComponent` - Data tables with advanced filtering and bulk actions
83
+ - `AmwDetailPageComponent` - Item detail views with related data sections
84
+ - `AmwFormPageComponent` - Dynamic forms with validation and sections
85
+ - `AmwSearchPageComponent` - Advanced search with collapsible filters
86
+ - `AmwWorkflowPageComponent` - Multi-step processes with progress tracking
87
+ - `AmwReportPageComponent` - Dashboard-style reports with widgets
88
+
89
+ #### Styling
90
+ - `ThemeService` - Dynamic theme management
91
+ - `ThemePickerComponent` - Theme selection UI
92
+ - `ThemeEditorComponent` - Theme customization UI
93
+ - `ThemeManagerComponent` - Complete theme management UI
94
+
95
+ ## Theme Setup
96
+
97
+ ```typescript
98
+ import { Component, OnInit } from '@angular/core';
99
+ import { ThemeService } from 'angular-material-wrap';
100
+
101
+ @Component({
102
+ selector: 'app-root',
103
+ template: `...`
104
+ })
105
+ export class AppComponent implements OnInit {
106
+ constructor(private themeService: ThemeService) {}
107
+
108
+ ngOnInit() {
109
+ // Initialize with default theme
110
+ this.themeService.setTheme('light');
111
+ }
112
+
113
+ toggleTheme() {
114
+ const currentTheme = this.themeService.getCurrentTheme();
115
+ this.themeService.setTheme(currentTheme === 'light' ? 'dark' : 'light');
116
+ }
117
+ }
118
+ ```
119
+
120
+ ## Documentation
121
+
122
+ For complete documentation, examples, and API reference, visit:
123
+ - [GitHub Repository](https://github.com/danielhokanson/angular-material-wrap)
124
+ - [API Documentation](https://github.com/danielhokanson/angular-material-wrap/blob/main/docs/library-api.md)
125
+ - [Development Guide](https://github.com/danielhokanson/angular-material-wrap/blob/main/docs/development-workflow.md)
126
+
127
+ ## Component Areas
128
+
129
+ The library is organized into four main areas:
130
+
131
+ 1. **Controls** (`/controls`) - Enhanced wrappers of Angular Material controls with additional functionality
132
+ 2. **Components** (`/components`) - Complex UI components combining multiple controls
133
+ 3. **Pages** (`/pages`) - Complete page layouts and common page patterns
134
+ 4. **Styling** (`/styling`) - Theme management and Material Design 3 implementation
135
+
136
+ ## Browser Support
137
+
138
+ This library supports the same browsers as Angular 21:
139
+ - Chrome (latest)
140
+ - Firefox (latest)
141
+ - Edge (latest)
142
+ - Safari (latest)
143
+
144
+ ## License
145
+
146
+ MIT
147
+
148
+ ## Author
149
+
150
+ Daniel Hokanson
151
+
152
+ ## Contributing
153
+
154
+ Contributions are welcome! Please visit the [GitHub repository](https://github.com/danielhokanson/angular-material-wrap) to report issues or submit pull requests.
155
+
156
+ ## Changelog
157
+
158
+ ### 0.1.0-beta.0 (Initial Beta Release)
159
+ - Initial beta release
160
+ - 20+ enhanced Material controls
161
+ - 10+ complex components
162
+ - 6 page layout stereotypes
163
+ - Material Design 3 theme management
164
+ - Full TypeScript support
165
+ - Tree-shakable ES modules