@fulleffect/ngx-tailings
Version:
A extended angular library for for native and cosmetic tailwindcss. Depends on [daisyui](https://daisyui.com) to come alive.
1 lines • 12.6 kB
Source Map (JSON)
{"version":3,"file":"fulleffect-ngx-tailings.mjs","sources":["../../../../packages/ngx-tailings/src/lib/directives/fe-input-error.directive.ts","../../../../packages/ngx-tailings/src/lib/services/fe-form-messages.service.ts","../../../../packages/ngx-tailings/src/lib/components/form-message/form-message.component.ts","../../../../packages/ngx-tailings/src/lib/components/form-message/form-message.component.html","../../../../packages/ngx-tailings/src/lib/components/input-error-display/input-error-display.component.ts","../../../../packages/ngx-tailings/src/lib/components/input-error-display/input-error-display.component.html","../../../../packages/ngx-tailings/src/lib/ngx-tailings.module.ts","../../../../packages/ngx-tailings/src/fulleffect-ngx-tailings.ts"],"sourcesContent":["import {Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2} from '@angular/core';\r\nimport {FormControl, NgControl} from \"@angular/forms\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[feInputError]'\r\n})\r\nexport class FeInputErrorDirective implements OnInit, OnDestroy{\r\n\r\n @Input() inputControl: FormControl | undefined;\r\n private validityChangeSubscription: Subscription | undefined;\r\n\r\n constructor(private el:ElementRef,\r\n private renderer: Renderer2,\r\n private control: NgControl) { }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n const control = this.inputControl || this.control.control;\r\n\r\n this.validityChangeSubscription = control?.statusChanges.subscribe(status => {\r\n if (status === 'INVALID' && (control.dirty || control.touched)){\r\n this.renderer.setStyle(this.el.nativeElement, 'borderColor', 'red');\r\n }else{\r\n this.renderer.removeStyle(this.el.nativeElement, 'borderColor');\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.validityChangeSubscription){\r\n this.validityChangeSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FeFormMessagesService {\r\n private errorsSubject = new BehaviorSubject<string[]>([])\r\n errors$: Observable<string[]> = this.errorsSubject.asObservable()\r\n\r\n emitError(error: string | string[]) {\r\n if (Array.isArray(error)) {\r\n this.error(...error)\r\n } else {\r\n this.error(error)\r\n }\r\n }\r\n\r\n private error(...errors: string[]) {\r\n this.errorsSubject.next(errors)\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FeFormMessagesService } from '../../services';\nimport { BehaviorSubject, tap } from 'rxjs';\n\n@Component({\n selector: 'fe-form-message',\n standalone: true,\n imports: [CommonModule, ],\n templateUrl: './form-message.component.html',\n styleUrl: './form-message.component.scss',\n})\nexport class FormMessageComponent implements OnInit{\n get messages(): string[] {\n return this._messages;\n }\n\n @Input()\n set messages(value: string[] ) {\n this._messages = value;\n this.feMessagesService.emitError(value)\n }\n hidden$ = new BehaviorSubject(false);\n errors$ = this.feMessagesService.errors$.pipe(\n tap((errors) =>{\n if(errors.length){\n this.hidden$.next(false);\n }\n })\n )\n @Input() closeable= true\n @Input() title = \"Some errors were found on the form:\";\n\n private _messages: string[] = []\n\n constructor(private feMessagesService: FeFormMessagesService) {\n }\n\n ngOnInit(): void {\n this.errors$ = this.feMessagesService.errors$\n }\n\n close(){\n this.feMessagesService.emitError([])\n this.hidden$.next(true);\n }\n}\n","<div class=''>\n <div *ngIf=\"errors$|async as errors\">\n <div *ngIf=\"errors.length\" role=\"alert\" class=\"alert alert-warning\">\n <div>\n <span class=\"fa fa-info-circle fa-2x\"></span>\n </div>\n <div>\n <div class=\"font-bold \">{{title}}</div>\n <div>\n <div *ngFor=\"let message of errors\" class=\"text-lg\">{{message}}</div>\n </div>\n </div>\n <div>\n <button (click)=\"close()\" class=\"btn btn-circle btn-sm\"><span class=\"fa fa-close\"></span></button>\n </div>\n </div>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {AbstractControl} from \"@angular/forms\";\r\nimport { NgIf, TitleCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'fe-input-error-display',\r\n templateUrl: './input-error-display.component.html',\r\n standalone: true,\r\n imports: [\r\n TitleCasePipe,\r\n NgIf\r\n ],\r\n styleUrl: './input-error-display.component.scss'\r\n})\r\nexport class InputErrorDisplayComponent {\r\n @Input() control: AbstractControl | null = null;\r\n\r\n @Input() controlName = 'this'\r\n\r\n\r\n\r\n\r\n}\r\n","<ng-container *ngIf=\"control && control.invalid && (control.dirty || control.touched)\">\r\n <div *ngIf=\"control.hasError('required')\" class=\"label text-error\">\r\n <span>{{ controlName|titlecase }} is required.</span>\r\n </div>\r\n <div *ngIf=\"control.hasError('minlength')\" class=\"label text-error\">\r\n {{ controlName|titlecase }} is not up to required length\r\n </div>\r\n <div *ngIf=\"control.hasError('email')\" class=\"label text-error\" >\r\n <span>Must be valid email address</span>\r\n </div>\r\n<!-- TODO: Implement for custom validators-->\r\n<!-- <div *ngIf=\"control.hasError('forbiddenName')\">-->\r\n<!-- Name cannot be Bob.-->\r\n<!-- </div>-->\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FeFormMessagesService } from './services';\r\nimport { FormMessageComponent } from './components';\r\nimport { InputErrorDisplayComponent } from './components';\r\nimport { FeInputErrorDirective } from './directives';\r\n\r\n\r\nconst STANDALONE_COMPONENTS = [\r\n FormMessageComponent,\r\n InputErrorDisplayComponent,\r\n FeInputErrorDirective\r\n]\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n ...STANDALONE_COMPONENTS\r\n ],\r\n providers: [\r\n FeFormMessagesService\r\n ],\r\n exports: [\r\n ...STANDALONE_COMPONENTS,\r\n ]\r\n})\r\nexport class NgxTailingsModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FeFormMessagesService"],"mappings":"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"}