anguland 0.0.2 → 0.0.4

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.
@@ -0,0 +1,46 @@
1
+ import { Component, input, output } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ export class DarkModeToggleComponent {
6
+ constructor() {
7
+ this.isDarkMode = input.required();
8
+ this.darkModeToggled = output();
9
+ }
10
+ toggleDarkMode(e) {
11
+ this.darkModeToggled.emit(e.target.checked);
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DarkModeToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: DarkModeToggleComponent, isStandalone: true, selector: "lib-dark-mode-toggle", inputs: { isDarkMode: { classPropertyName: "isDarkMode", publicName: "isDarkMode", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { darkModeToggled: "darkModeToggled" }, ngImport: i0, template: `
15
+ <div class="darkModeToggleButton">
16
+ <input type="checkbox" id="switch" [ngModel]="isDarkMode()" (change)="toggleDarkMode($event)" />
17
+ <div class="switch-btn">
18
+ <label>
19
+ <div class="icons">
20
+ <span><i class="material-icons">light_mode</i></span>
21
+ <span><i class="material-icons">dark_mode</i></span>
22
+ </div>
23
+ </label>
24
+ </div>
25
+ </div>
26
+
27
+ `, isInline: true, styles: [".darkModeToggleButton{position:relative;--switch-width: 60px;--switch-height: 25px;--label-width: 30px;--switch-radius: 20px}.darkModeToggleButton *{transition:all .75s ease}input[type=checkbox]{outline:none;-webkit-tap-highlight-color:transparent;position:absolute;top:0;left:0;width:var(--switch-width);height:100%;opacity:0;z-index:2;cursor:pointer}.switch-btn{width:var(--switch-width);height:var(--switch-height) + 10px;background-color:#eceef1;border:3px solid #d1d6db;border-radius:var(--switch-radius);position:relative;z-index:1;padding:6px}label{width:var(--label-width);height:var(--switch-height);display:flex;align-items:center;justify-content:center;background:#f8f8f9;border-radius:var(--switch-radius);overflow:hidden;cursor:pointer}.icons{display:flex;align-items:center;gap:20px;transform:translate(-11px,19px) rotate(120deg);-webkit-user-select:none;user-select:none;color:#17193f}input[type=checkbox]:checked~.switch-btn{border:3px solid #2e3052;background-color:#17193f}input[type=checkbox]:checked~.switch-btn label{transform:translate(calc(var(--switch-width) - var(--label-width)));box-shadow:0 3px 5px #0003}input[type=checkbox]:checked~.switch-btn label .icons{transform:translate(-20px)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DarkModeToggleComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'lib-dark-mode-toggle', standalone: true, imports: [FormsModule], template: `
32
+ <div class="darkModeToggleButton">
33
+ <input type="checkbox" id="switch" [ngModel]="isDarkMode()" (change)="toggleDarkMode($event)" />
34
+ <div class="switch-btn">
35
+ <label>
36
+ <div class="icons">
37
+ <span><i class="material-icons">light_mode</i></span>
38
+ <span><i class="material-icons">dark_mode</i></span>
39
+ </div>
40
+ </label>
41
+ </div>
42
+ </div>
43
+
44
+ `, styles: [".darkModeToggleButton{position:relative;--switch-width: 60px;--switch-height: 25px;--label-width: 30px;--switch-radius: 20px}.darkModeToggleButton *{transition:all .75s ease}input[type=checkbox]{outline:none;-webkit-tap-highlight-color:transparent;position:absolute;top:0;left:0;width:var(--switch-width);height:100%;opacity:0;z-index:2;cursor:pointer}.switch-btn{width:var(--switch-width);height:var(--switch-height) + 10px;background-color:#eceef1;border:3px solid #d1d6db;border-radius:var(--switch-radius);position:relative;z-index:1;padding:6px}label{width:var(--label-width);height:var(--switch-height);display:flex;align-items:center;justify-content:center;background:#f8f8f9;border-radius:var(--switch-radius);overflow:hidden;cursor:pointer}.icons{display:flex;align-items:center;gap:20px;transform:translate(-11px,19px) rotate(120deg);-webkit-user-select:none;user-select:none;color:#17193f}input[type=checkbox]:checked~.switch-btn{border:3px solid #2e3052;background-color:#17193f}input[type=checkbox]:checked~.switch-btn label{transform:translate(calc(var(--switch-width) - var(--label-width)));box-shadow:0 3px 5px #0003}input[type=checkbox]:checked~.switch-btn label .icons{transform:translate(-20px)}\n"] }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay1tb2RlLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFuZC9zcmMvbGliL2RhcmstbW9kZS10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQTZGN0MsTUFBTSxPQUFPLHVCQUF1QjtJQTNGcEM7UUE2RkUsZUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVcsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLE1BQU0sRUFBVyxDQUFDO0tBS3JDO0lBSEMsY0FBYyxDQUFDLENBQU07UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQVBVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG1SQXZGeEI7Ozs7Ozs7Ozs7Ozs7R0FhVCx5d0NBZFMsV0FBVzs7MkZBd0ZWLHVCQUF1QjtrQkEzRm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFdBQVcsQ0FBQyxZQUNaOzs7Ozs7Ozs7Ozs7O0dBYVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZGFyay1tb2RlLXRvZ2dsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRhcmtNb2RlVG9nZ2xlQnV0dG9uXCI+XG4gICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwic3dpdGNoXCIgW25nTW9kZWxdPVwiaXNEYXJrTW9kZSgpXCIgKGNoYW5nZSk9XCJ0b2dnbGVEYXJrTW9kZSgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic3dpdGNoLWJ0blwiPlxuICAgICAgPGxhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnNcIj5cbiAgICAgICAgICA8c3Bhbj48aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+bGlnaHRfbW9kZTwvaT48L3NwYW4+XG4gICAgICAgICAgPHNwYW4+PGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmRhcmtfbW9kZTwvaT48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgICAgLmRhcmtNb2RlVG9nZ2xlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFNldCBjb250ZXh0IGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuICAgICoge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2U7XG4gICAgfVxuICAgIC0tc3dpdGNoLXdpZHRoOiA2MHB4O1xuICAgIC0tc3dpdGNoLWhlaWdodDogMjVweDtcbiAgICAtLWxhYmVsLXdpZHRoOiAzMHB4O1xuICAgIC0tc3dpdGNoLXJhZGl1czogMjBweDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgY2hlY2tib3ggKi9cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDsgLyogTWFrZSBpdCBpbnZpc2libGUgKi9cbiAgICB6LWluZGV4OiAyOyAvKiBFbnN1cmUgaXQgc2l0cyBhYm92ZSB0aGUgc3dpdGNoLWJ0biAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5zd2l0Y2gtYnRuIHtcbiAgICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXRjaC1oZWlnaHQpICsgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlZWYxO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkMWQ2ZGI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpdGNoLXJhZGl1cyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBFbnN1cmUgaXQncyBzdGFja2VkIGJlbG93IHRoZSBjaGVja2JveCAqL1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogNnB4O1xuICB9XG5cbiAgbGFiZWwge1xuICAgIHdpZHRoOiB2YXIoLS1sYWJlbC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2l0Y2gtaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmOTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zd2l0Y2gtcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTFweCwgMTlweCkgcm90YXRlKDEyMGRlZyk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6ICMxNzE5M2Y7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5zd2l0Y2gtYnRuIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMmUzMDUyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzE5M2Y7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5zd2l0Y2gtYnRuIGxhYmVsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2l0Y2gtd2lkdGgpIC0gdmFyKC0tbGFiZWwtd2lkdGgpKSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLnN3aXRjaC1idG4gbGFiZWwgLmljb25zIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRGFya01vZGVUb2dnbGVDb21wb25lbnQge1xuXG4gIGlzRGFya01vZGUgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICBkYXJrTW9kZVRvZ2dsZWQgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICB0b2dnbGVEYXJrTW9kZShlOiBhbnkpIHtcbiAgICB0aGlzLmRhcmtNb2RlVG9nZ2xlZC5lbWl0KGUudGFyZ2V0LmNoZWNrZWQpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,3 @@
1
- /*
2
- * Public API Surface of anguland
3
- */
4
1
  export * from './lib/formError.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYW5kL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhbmRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtRXJyb3IuY29tcG9uZW50JztcbiJdfQ==
2
+ export * from './lib/dark-mode-toggle.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYW5kL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1FcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFyay1tb2RlLXRvZ2dsZS5jb21wb25lbnQnO1xuIl19
@@ -1,5 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, Component } from '@angular/core';
2
+ import { input, Component, output } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormsModule } from '@angular/forms';
3
5
 
4
6
  const PASSWORD_MIN_LENGTH = 6;
5
7
  const USERNAME_MIN_LENGTH = 2;
@@ -124,13 +126,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
124
126
  `, styles: [".smallError{color:#f44336;font-size:.7rem}\n"] }]
125
127
  }] });
126
128
 
127
- /*
128
- * Public API Surface of anguland
129
- */
129
+ class DarkModeToggleComponent {
130
+ constructor() {
131
+ this.isDarkMode = input.required();
132
+ this.darkModeToggled = output();
133
+ }
134
+ toggleDarkMode(e) {
135
+ this.darkModeToggled.emit(e.target.checked);
136
+ }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DarkModeToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: DarkModeToggleComponent, isStandalone: true, selector: "lib-dark-mode-toggle", inputs: { isDarkMode: { classPropertyName: "isDarkMode", publicName: "isDarkMode", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { darkModeToggled: "darkModeToggled" }, ngImport: i0, template: `
139
+ <div class="darkModeToggleButton">
140
+ <input type="checkbox" id="switch" [ngModel]="isDarkMode()" (change)="toggleDarkMode($event)" />
141
+ <div class="switch-btn">
142
+ <label>
143
+ <div class="icons">
144
+ <span><i class="material-icons">light_mode</i></span>
145
+ <span><i class="material-icons">dark_mode</i></span>
146
+ </div>
147
+ </label>
148
+ </div>
149
+ </div>
150
+
151
+ `, isInline: true, styles: [".darkModeToggleButton{position:relative;--switch-width: 60px;--switch-height: 25px;--label-width: 30px;--switch-radius: 20px}.darkModeToggleButton *{transition:all .75s ease}input[type=checkbox]{outline:none;-webkit-tap-highlight-color:transparent;position:absolute;top:0;left:0;width:var(--switch-width);height:100%;opacity:0;z-index:2;cursor:pointer}.switch-btn{width:var(--switch-width);height:var(--switch-height) + 10px;background-color:#eceef1;border:3px solid #d1d6db;border-radius:var(--switch-radius);position:relative;z-index:1;padding:6px}label{width:var(--label-width);height:var(--switch-height);display:flex;align-items:center;justify-content:center;background:#f8f8f9;border-radius:var(--switch-radius);overflow:hidden;cursor:pointer}.icons{display:flex;align-items:center;gap:20px;transform:translate(-11px,19px) rotate(120deg);-webkit-user-select:none;user-select:none;color:#17193f}input[type=checkbox]:checked~.switch-btn{border:3px solid #2e3052;background-color:#17193f}input[type=checkbox]:checked~.switch-btn label{transform:translate(calc(var(--switch-width) - var(--label-width)));box-shadow:0 3px 5px #0003}input[type=checkbox]:checked~.switch-btn label .icons{transform:translate(-20px)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DarkModeToggleComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ selector: 'lib-dark-mode-toggle', standalone: true, imports: [FormsModule], template: `
156
+ <div class="darkModeToggleButton">
157
+ <input type="checkbox" id="switch" [ngModel]="isDarkMode()" (change)="toggleDarkMode($event)" />
158
+ <div class="switch-btn">
159
+ <label>
160
+ <div class="icons">
161
+ <span><i class="material-icons">light_mode</i></span>
162
+ <span><i class="material-icons">dark_mode</i></span>
163
+ </div>
164
+ </label>
165
+ </div>
166
+ </div>
167
+
168
+ `, styles: [".darkModeToggleButton{position:relative;--switch-width: 60px;--switch-height: 25px;--label-width: 30px;--switch-radius: 20px}.darkModeToggleButton *{transition:all .75s ease}input[type=checkbox]{outline:none;-webkit-tap-highlight-color:transparent;position:absolute;top:0;left:0;width:var(--switch-width);height:100%;opacity:0;z-index:2;cursor:pointer}.switch-btn{width:var(--switch-width);height:var(--switch-height) + 10px;background-color:#eceef1;border:3px solid #d1d6db;border-radius:var(--switch-radius);position:relative;z-index:1;padding:6px}label{width:var(--label-width);height:var(--switch-height);display:flex;align-items:center;justify-content:center;background:#f8f8f9;border-radius:var(--switch-radius);overflow:hidden;cursor:pointer}.icons{display:flex;align-items:center;gap:20px;transform:translate(-11px,19px) rotate(120deg);-webkit-user-select:none;user-select:none;color:#17193f}input[type=checkbox]:checked~.switch-btn{border:3px solid #2e3052;background-color:#17193f}input[type=checkbox]:checked~.switch-btn label{transform:translate(calc(var(--switch-width) - var(--label-width)));box-shadow:0 3px 5px #0003}input[type=checkbox]:checked~.switch-btn label .icons{transform:translate(-20px)}\n"] }]
169
+ }] });
130
170
 
131
171
  /**
132
172
  * Generated bundle index. Do not edit.
133
173
  */
134
174
 
135
- export { FormErrorComponent };
175
+ export { DarkModeToggleComponent, FormErrorComponent };
136
176
  //# sourceMappingURL=anguland.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"anguland.mjs","sources":["../../../projects/anguland/src/lib/validation.ts","../../../projects/anguland/src/lib/formError.component.ts","../../../projects/anguland/src/public-api.ts","../../../projects/anguland/src/anguland.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport const PASSWORD_MIN_LENGTH = 6;\r\nexport const USERNAME_MIN_LENGTH = 2;\r\nexport const USERNAME_MAX_LENGTH = 30;\r\n\r\nexport const VALIDATION_MESSAGES = {\r\n username: [\r\n { type: 'required', message: 'Benutzername erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n {\r\n type: 'minlength',\r\n message: `Benutzername muss mindestens ${USERNAME_MIN_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'maxlength',\r\n message: `Benutzername darf höchstens ${USERNAME_MAX_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'pattern',\r\n message: 'Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten',\r\n },\r\n ],\r\n email: [\r\n { type: 'required', message: 'E-Mail erforderlich' },\r\n { type: 'email', message: 'Ungültige E-Mail' },\r\n { type: 'alreadyInUse', message: 'E-Mail bereits in Gebrauch' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n { type: 'unauthenticated', message: 'Benutzername oder Passwort falsch' },\r\n ],\r\n confirmPassword: [\r\n { type: 'required', message: 'Passwort erforderlich' },\r\n { type: 'matching', message: 'Passwort stimmt nicht überein' },\r\n ],\r\n password: [\r\n { type: 'required', message: 'Passwort erforderlich' },\r\n { type: 'minlength', message: `Mindestlänge ${PASSWORD_MIN_LENGTH} Zeichen` },\r\n { type: 'unauthenticated', message: 'Benutzername oder Passwort falsch' },\r\n ],\r\n name: [\r\n { type: 'required', message: 'Name erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n {\r\n type: 'minlength',\r\n message: `Name muss mindestens ${USERNAME_MIN_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'maxlength',\r\n message: `Name darf höchstens ${USERNAME_MAX_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'pattern',\r\n message: 'Name darf nur Buchstaben, Zahlen und Unterstriche enthalten',\r\n },\r\n ],\r\n phone: [\r\n { type: 'required', message: 'Telefonnummer erforderlich' },\r\n { type: 'pattern', message: 'Ungültige Telefonnummer' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n date: [\r\n { type: 'required', message: 'Datum erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n zipCode: [\r\n { type: 'required', message: 'PLZ erforderlich' },\r\n { type: 'pattern', message: 'Ungültige PLZ' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n other: [\r\n { type: 'required', message: 'Eingabe erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n};\r\n\r\nexport function matchValidator(\r\n matchTo: string,\r\n reverse?: boolean\r\n): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.parent && reverse) {\r\n const c = (control.parent?.controls as any)[matchTo] as AbstractControl;\r\n if (c) {\r\n c.updateValueAndValidity();\r\n }\r\n return null;\r\n }\r\n return !!control.parent &&\r\n !!control.parent.value &&\r\n control.value === (control.parent?.controls as any)[matchTo].value\r\n ? null\r\n : { matching: true };\r\n };\r\n}\r\n","import { Component, input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { VALIDATION_MESSAGES } from './validation';\n\n@Component({\n selector: 'lib-form-error',\n standalone: true,\n template: `\n @for (validation of VALIDATION_MESSAGES[validationKey()]; track $index) {\n <ng-container>\n @if(formGroup().get(controlName())?.hasError(validation.type) && formGroup().get(controlName())?.touched && !formGroup().get(controlName())?.pristine) {\n <small class=\"smallError\">\n {{ validation.message }}\n </small>\n }\n </ng-container>\n }\n `,\n styles: `\n .smallError{\n color: #f44336;\n font-size: 0.7rem;\n }\n `\n})\nexport class FormErrorComponent {\n VALIDATION_MESSAGES: ValidationMessages = VALIDATION_MESSAGES;\n formGroup = input.required<FormGroup>({});\n controlName = input.required<string>();\n validationKey = input.required<string>();\n}\n\ninterface ValidationMessages {\n [key: string]: ValidationMessage[];\n}\n\ninterface ValidationMessage {\n type: string;\n message: string;\n}\n\n","/*\n * Public API Surface of anguland\n */\n\nexport * from './lib/formError.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anguland.mjs","sources":["../../../projects/anguland/src/lib/validation.ts","../../../projects/anguland/src/lib/formError.component.ts","../../../projects/anguland/src/lib/dark-mode-toggle.component.ts","../../../projects/anguland/src/anguland.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport const PASSWORD_MIN_LENGTH = 6;\r\nexport const USERNAME_MIN_LENGTH = 2;\r\nexport const USERNAME_MAX_LENGTH = 30;\r\n\r\nexport const VALIDATION_MESSAGES = {\r\n username: [\r\n { type: 'required', message: 'Benutzername erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n {\r\n type: 'minlength',\r\n message: `Benutzername muss mindestens ${USERNAME_MIN_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'maxlength',\r\n message: `Benutzername darf höchstens ${USERNAME_MAX_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'pattern',\r\n message: 'Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten',\r\n },\r\n ],\r\n email: [\r\n { type: 'required', message: 'E-Mail erforderlich' },\r\n { type: 'email', message: 'Ungültige E-Mail' },\r\n { type: 'alreadyInUse', message: 'E-Mail bereits in Gebrauch' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n { type: 'unauthenticated', message: 'Benutzername oder Passwort falsch' },\r\n ],\r\n confirmPassword: [\r\n { type: 'required', message: 'Passwort erforderlich' },\r\n { type: 'matching', message: 'Passwort stimmt nicht überein' },\r\n ],\r\n password: [\r\n { type: 'required', message: 'Passwort erforderlich' },\r\n { type: 'minlength', message: `Mindestlänge ${PASSWORD_MIN_LENGTH} Zeichen` },\r\n { type: 'unauthenticated', message: 'Benutzername oder Passwort falsch' },\r\n ],\r\n name: [\r\n { type: 'required', message: 'Name erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n {\r\n type: 'minlength',\r\n message: `Name muss mindestens ${USERNAME_MIN_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'maxlength',\r\n message: `Name darf höchstens ${USERNAME_MAX_LENGTH} Zeichen lang sein`,\r\n },\r\n {\r\n type: 'pattern',\r\n message: 'Name darf nur Buchstaben, Zahlen und Unterstriche enthalten',\r\n },\r\n ],\r\n phone: [\r\n { type: 'required', message: 'Telefonnummer erforderlich' },\r\n { type: 'pattern', message: 'Ungültige Telefonnummer' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n date: [\r\n { type: 'required', message: 'Datum erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n zipCode: [\r\n { type: 'required', message: 'PLZ erforderlich' },\r\n { type: 'pattern', message: 'Ungültige PLZ' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n other: [\r\n { type: 'required', message: 'Eingabe erforderlich' },\r\n { type: 'unknown', message: 'Unbekannter Fehler' },\r\n ],\r\n};\r\n\r\nexport function matchValidator(\r\n matchTo: string,\r\n reverse?: boolean\r\n): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.parent && reverse) {\r\n const c = (control.parent?.controls as any)[matchTo] as AbstractControl;\r\n if (c) {\r\n c.updateValueAndValidity();\r\n }\r\n return null;\r\n }\r\n return !!control.parent &&\r\n !!control.parent.value &&\r\n control.value === (control.parent?.controls as any)[matchTo].value\r\n ? null\r\n : { matching: true };\r\n };\r\n}\r\n","import { Component, input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { VALIDATION_MESSAGES } from './validation';\n\n@Component({\n selector: 'lib-form-error',\n standalone: true,\n template: `\n @for (validation of VALIDATION_MESSAGES[validationKey()]; track $index) {\n <ng-container>\n @if(formGroup().get(controlName())?.hasError(validation.type) && formGroup().get(controlName())?.touched && !formGroup().get(controlName())?.pristine) {\n <small class=\"smallError\">\n {{ validation.message }}\n </small>\n }\n </ng-container>\n }\n `,\n styles: `\n .smallError{\n color: #f44336;\n font-size: 0.7rem;\n }\n `\n})\nexport class FormErrorComponent {\n VALIDATION_MESSAGES: ValidationMessages = VALIDATION_MESSAGES;\n formGroup = input.required<FormGroup>({});\n controlName = input.required<string>();\n validationKey = input.required<string>();\n}\n\ninterface ValidationMessages {\n [key: string]: ValidationMessage[];\n}\n\ninterface ValidationMessage {\n type: string;\n message: string;\n}\n\n","import { Component, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-dark-mode-toggle',\n standalone: true,\n imports: [FormsModule],\n template: `\n <div class=\"darkModeToggleButton\">\n <input type=\"checkbox\" id=\"switch\" [ngModel]=\"isDarkMode()\" (change)=\"toggleDarkMode($event)\" />\n <div class=\"switch-btn\">\n <label>\n <div class=\"icons\">\n <span><i class=\"material-icons\">light_mode</i></span>\n <span><i class=\"material-icons\">dark_mode</i></span>\n </div>\n </label>\n </div>\n </div>\n\n `,\n styles: [`\n .darkModeToggleButton {\n position: relative; /* Set context for absolute positioning */\n * {\n transition: all 0.75s ease;\n }\n --switch-width: 60px;\n --switch-height: 25px;\n --label-width: 30px;\n --switch-radius: 20px;\n }\n\n input[type=\"checkbox\"] {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n position: absolute; /* Absolutely position the checkbox */\n top: 0;\n left: 0;\n width: var(--switch-width);\n height: 100%;\n opacity: 0; /* Make it invisible */\n z-index: 2; /* Ensure it sits above the switch-btn */\n cursor: pointer;\n }\n\n .switch-btn {\n width: var(--switch-width);\n height: var(--switch-height) + 10px;\n background-color: #eceef1;\n border: 3px solid #d1d6db;\n border-radius: var(--switch-radius);\n position: relative; /* Ensure it's stacked below the checkbox */\n z-index: 1;\n padding: 6px;\n }\n\n label {\n width: var(--label-width);\n height: var(--switch-height);\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f8f8f9;\n border-radius: var(--switch-radius);\n overflow: hidden;\n cursor: pointer;\n }\n\n .icons {\n display: flex;\n align-items: center;\n gap: 20px;\n transform: translate(-11px, 19px) rotate(120deg);\n user-select: none;\n color: #17193f;\n }\n\n input[type=\"checkbox\"]:checked ~ .switch-btn {\n border: 3px solid #2e3052;\n background-color: #17193f;\n }\n\n input[type=\"checkbox\"]:checked ~ .switch-btn label {\n transform: translateX(calc(var(--switch-width) - var(--label-width)));\n box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);\n }\n\n input[type=\"checkbox\"]:checked ~ .switch-btn label .icons {\n transform: translateX(-20px);\n }\n\n `]\n})\nexport class DarkModeToggleComponent {\n\n isDarkMode = input.required<boolean>();\n darkModeToggled = output<boolean>();\n\n toggleDarkMode(e: any) {\n this.darkModeToggled.emit(e.target.checked);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DarkModeToggleComponent {
3
+ isDarkMode: import("@angular/core").InputSignal<boolean>;
4
+ darkModeToggled: import("@angular/core").OutputEmitterRef<boolean>;
5
+ toggleDarkMode(e: any): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DarkModeToggleComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<DarkModeToggleComponent, "lib-dark-mode-toggle", never, { "isDarkMode": { "alias": "isDarkMode"; "required": true; "isSignal": true; }; }, { "darkModeToggled": "darkModeToggled"; }, never, never, true, never>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anguland",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0"
package/public-api.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './lib/formError.component';
2
+ export * from './lib/dark-mode-toggle.component';