angular-dumb-lib 0.0.1
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 +24 -0
- package/esm2022/angular-dumb-lib.mjs +5 -0
- package/esm2022/lib/angular-dumb-lib.component.mjs +20 -0
- package/esm2022/lib/angular-dumb-lib.module.mjs +32 -0
- package/esm2022/lib/angular-dumb-lib.service.mjs +15 -0
- package/esm2022/lib/components/atoms/button/button.component.mjs +34 -0
- package/esm2022/lib/components/atoms/input/input.component.mjs +57 -0
- package/esm2022/lib/components/molecules/content-design/content-design.component.mjs +32 -0
- package/esm2022/lib/shared/enums/enum.mjs +69 -0
- package/esm2022/lib/shared/interfaces/interface.mjs +2 -0
- package/esm2022/public-api.mjs +10 -0
- package/fesm2022/angular-dumb-lib.mjs +243 -0
- package/fesm2022/angular-dumb-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/angular-dumb-lib.component.d.ts +5 -0
- package/lib/angular-dumb-lib.module.d.ts +9 -0
- package/lib/angular-dumb-lib.service.d.ts +6 -0
- package/lib/components/atoms/button/button.component.d.ts +12 -0
- package/lib/components/atoms/input/input.component.d.ts +19 -0
- package/lib/components/molecules/content-design/content-design.component.d.ts +12 -0
- package/lib/shared/enums/enum.d.ts +59 -0
- package/lib/shared/interfaces/interface.d.ts +58 -0
- package/package.json +25 -0
- package/public-api.d.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# AngularDumbLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project angular-dumb-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project angular-dumb-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project angular-dumb-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build angular-dumb-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build angular-dumb-lib`, go to the dist folder `cd dist/angular-dumb-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test angular-dumb-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2FuZ3VsYXItZHVtYi1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
class AngularDumbLibComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AngularDumbLibComponent, selector: "lib-angular-dumb-lib", ngImport: i0, template: `
|
|
6
|
+
<p>
|
|
7
|
+
angular-dumb-lib works!
|
|
8
|
+
</p>
|
|
9
|
+
`, isInline: true }); }
|
|
10
|
+
}
|
|
11
|
+
export { AngularDumbLibComponent };
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'lib-angular-dumb-lib', template: `
|
|
15
|
+
<p>
|
|
16
|
+
angular-dumb-lib works!
|
|
17
|
+
</p>
|
|
18
|
+
` }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUMsTUFVYSx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLDREQVJ4Qjs7OztHQUlUOztTQUlVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQVZuQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbmd1bGFyLWR1bWItbGliJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cD5cbiAgICAgIGFuZ3VsYXItZHVtYi1saWIgd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRHVtYkxpYkNvbXBvbmVudCB7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { AngularDumbLibComponent } from './angular-dumb-lib.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class AngularDumbLibModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, declarations: [AngularDumbLibComponent], imports: [CommonModule,
|
|
9
|
+
FormsModule,
|
|
10
|
+
ReactiveFormsModule], exports: [AngularDumbLibComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, imports: [CommonModule,
|
|
12
|
+
FormsModule,
|
|
13
|
+
ReactiveFormsModule] }); }
|
|
14
|
+
}
|
|
15
|
+
export { AngularDumbLibModule };
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [
|
|
20
|
+
AngularDumbLibComponent,
|
|
21
|
+
],
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
FormsModule,
|
|
25
|
+
ReactiveFormsModule,
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
AngularDumbLibComponent,
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVsRSxNQWFhLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBWDdCLHVCQUF1QixhQUd2QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQixhQUduQix1QkFBdUI7Z0hBR2Qsb0JBQW9CLFlBUjdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1COztTQU1WLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQWJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJEdW1iTGliQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLWR1bWItbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFuZ3VsYXJEdW1iTGliQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQW5ndWxhckR1bWJMaWJDb21wb25lbnQsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckR1bWJMaWJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
class AngularDumbLibService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, providedIn: 'root' }); }
|
|
7
|
+
}
|
|
8
|
+
export { AngularDumbLibService };
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, decorators: [{
|
|
10
|
+
type: Injectable,
|
|
11
|
+
args: [{
|
|
12
|
+
providedIn: 'root'
|
|
13
|
+
}]
|
|
14
|
+
}], ctorParameters: function () { return []; } });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2FuZ3VsYXItZHVtYi1saWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQyxNQUdhLHFCQUFxQjtJQUVoQyxnQkFBZ0IsQ0FBQzsrR0FGTixxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOztTQUVQLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckR1bWJMaWJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ButtonType, DesignType } from '../../../shared/enums/enum';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
class ButtonComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.clickEvent = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.config = {
|
|
12
|
+
isDisabled: false,
|
|
13
|
+
isActive: false,
|
|
14
|
+
designType: DesignType.normal,
|
|
15
|
+
type: ButtonType.submit,
|
|
16
|
+
...this.config,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
onButtonClick() {
|
|
20
|
+
this.clickEvent.emit();
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { config: "config" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:.25rem;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#007bff;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#0056d2}button.btn.btn-primary.contrast{color:#007bff;border:1px solid #4A90E2}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#e6f0fa;color:#1a1a1a}button.btn.btn-primary.active{background-color:#003d99;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#0056d2;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
24
|
+
}
|
|
25
|
+
export { ButtonComponent };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:.25rem;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#007bff;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#0056d2}button.btn.btn-primary.contrast{color:#007bff;border:1px solid #4A90E2}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#e6f0fa;color:#1a1a1a}button.btn.btn-primary.active{background-color:#003d99;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#0056d2;color:#fff}\n"] }]
|
|
29
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], clickEvent: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFPYSxlQUFlO0lBSzFCO1FBRlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEMsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQTtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQW5CVSxlQUFlO21HQUFmLGVBQWUsMklDWjVCLGdsQkFlQSxzM0JETFksWUFBWTs7U0FFWCxlQUFlOzRGQUFmLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FHUCxDQUFDLFlBQVksQ0FBQzswRUFHZCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uVHlwZSwgRGVzaWduVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcclxuaW1wb3J0IHsgSUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29uZmlnITogSUJ1dHRvbkNvbmZpZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRlc2lnblR5cGU6IERlc2lnblR5cGUubm9ybWFsLFxyXG4gICAgICB0eXBlOiBCdXR0b25UeXBlLnN1Ym1pdCxcclxuICAgICAgLi4udGhpcy5jb25maWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIHR5cGU9XCJ7e2NvbmZpZy50eXBlfX1cIlxyXG4gIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICBbZGlzYWJsZWRdPVwiY29uZmlnLmlzRGlzYWJsZWRcIlxyXG4gIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogY29uZmlnLmlzQWN0aXZlLFxyXG4gICAgICAgICAgICAnbm9ybWFsJzogY29uZmlnLmRlc2lnblR5cGUgPT09ICdub3JtYWwnLFxyXG4gICAgICAgICAgICAnY29udHJhc3QnOiBjb25maWcuZGVzaWduVHlwZSA9PT0gJ2NvbnRyYXN0J31cIlxyXG4gIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGVudFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmljb25WYWx1ZVwiPlxyXG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJEZWxldGVcIj57e2NvbmZpZy5pY29uVmFsdWV9fTwvaT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPHNwYW4+e3sgY29uZmlnLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { InputDirection, InputType } from '../../../shared/enums/enum';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
class InputComponent {
|
|
9
|
+
get value() {
|
|
10
|
+
return this._value;
|
|
11
|
+
}
|
|
12
|
+
set value(value) {
|
|
13
|
+
this._value = value;
|
|
14
|
+
this.onChange(this._value);
|
|
15
|
+
this.onTouched();
|
|
16
|
+
}
|
|
17
|
+
constructor() {
|
|
18
|
+
this._value = '';
|
|
19
|
+
this.onChange = () => { };
|
|
20
|
+
this.onTouched = () => { };
|
|
21
|
+
}
|
|
22
|
+
writeValue(value) {
|
|
23
|
+
this._value = value;
|
|
24
|
+
}
|
|
25
|
+
registerOnChange(fn) {
|
|
26
|
+
this.onChange = fn;
|
|
27
|
+
}
|
|
28
|
+
registerOnTouched(fn) {
|
|
29
|
+
this.onTouched = fn;
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.config = {
|
|
33
|
+
type: InputType.text,
|
|
34
|
+
direction: InputDirection.vertical,
|
|
35
|
+
isValid: true,
|
|
36
|
+
...this.config,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { config: "config" }, providers: [{
|
|
41
|
+
provide: NG_VALUE_ACCESSOR,
|
|
42
|
+
useExisting: forwardRef(() => InputComponent),
|
|
43
|
+
multi: true
|
|
44
|
+
}], ngImport: i0, template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
45
|
+
}
|
|
46
|
+
export { InputComponent };
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'app-input', standalone: true, providers: [{
|
|
50
|
+
provide: NG_VALUE_ACCESSOR,
|
|
51
|
+
useExisting: forwardRef(() => InputComponent),
|
|
52
|
+
multi: true
|
|
53
|
+
}], imports: [CommonModule, FormsModule], template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"] }]
|
|
54
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFL0MsTUFZYSxjQUFjO0lBS3pCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUtEO1FBZlEsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQVl6QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFVixDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDbEMsT0FBTyxFQUFFLElBQUk7WUFDYixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUM7K0dBckNVLGNBQWM7bUdBQWQsY0FBYyxzRkFQZCxDQUFDO2dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsMEJDZkosb29DQTRCQSx5eUJEWlksWUFBWSxnT0FBRSxXQUFXOztTQUV4QixjQUFjOzRGQUFkLGNBQWM7a0JBWjFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksYUFHTCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxXQUNPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzswRUFHM0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElucHV0RGlyZWN0aW9uLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XHJcbmltcG9ydCB7IElJbnB1dENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBjb25maWchOiBJSW5wdXRDb25maWc7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnkgPSAnJztcclxuXHJcbiAgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHtcclxuICAgICAgdHlwZTogSW5wdXRUeXBlLnRleHQsXHJcbiAgICAgIGRpcmVjdGlvbjogSW5wdXREaXJlY3Rpb24udmVydGljYWwsXHJcbiAgICAgIGlzVmFsaWQ6IHRydWUsXHJcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWl0ZW1cIiBbbmdDbGFzc109XCJjb25maWcuZGlyZWN0aW9uXCI+XHJcbiAgPGxhYmVsICpuZ0lmPVwiY29uZmlnLmxhYmVsXCI+XHJcbiAgICB7eyBjb25maWcubGFiZWwgfX1cclxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLnJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj4qPC9zcGFuPlxyXG4gIDwvbGFiZWw+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgIDxpbnB1dCAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAndGV4dGFyZWEnICYmIGNvbmZpZy50eXBlICE9PSAncmljaFRleHQnICYmIGNvbmZpZy50eXBlICE9PSAnaW1hZ2UnXCJcclxuICAgICAgW3R5cGVdPVwiY29uZmlnLnR5cGVcIlxyXG4gICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJjb25maWcucmVxdWlyZWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1lcnJvcic6ICFjb25maWcuaXNWYWxpZH1cIj5cclxuICAgIDx0ZXh0YXJlYSAqbmdJZj1cImNvbmZpZy50eXBlID09PSAndGV4dGFyZWEnXCJcclxuICAgICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImNvbmZpZy5yZXF1aXJlZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LWVycm9yJzogIWNvbmZpZy5pc1ZhbGlkfVwiPlxyXG4gICAgPC90ZXh0YXJlYT5cclxuICAgIDxpICpuZ0lmPVwiIWNvbmZpZy5pc1ZhbGlkXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyB3YXJuaW5nLWljb25cIj5lcnJvcjwvaT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImNvbmZpZy50eXBlID09PSAnaW1hZ2UnXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwidmFsdWVcIiBbc3JjXT1cInZhbHVlXCIgYWx0PVwiU2VsZWN0ZWQgSW1hZ2VcIiBjbGFzcz1cInByZXZpZXctaW1hZ2VcIi8+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ContentDirection } from '../../../shared/enums/enum';
|
|
3
|
+
import { ButtonComponent } from '../../atoms/button/button.component';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
class ContentDesignComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.clickEvent = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.content = {
|
|
13
|
+
contentDirection: ContentDirection.left,
|
|
14
|
+
...this.content,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
onButtonClick() {
|
|
18
|
+
this.clickEvent.emit();
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentDesignComponent, isStandalone: true, selector: "app-content-design", inputs: { content: "content" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n\n <div class=\"content\">\n <h2>{{ content.title }}</h2>\n <p>{{ content.content }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick()\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%;padding:0 20px}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;justify-content:center}.content-designer.up{flex-direction:column-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }] }); }
|
|
22
|
+
}
|
|
23
|
+
export { ContentDesignComponent };
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'app-content-design', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n\n <div class=\"content\">\n <h2>{{ content.title }}</h2>\n <p>{{ content.content }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick()\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%;padding:0 20px}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;justify-content:center}.content-designer.up{flex-direction:column-reverse}\n"] }]
|
|
27
|
+
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], clickEvent: [{
|
|
30
|
+
type: Output
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZXNpZ24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtZGVzaWduL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWRlc2lnbi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUvQyxNQU9hLHNCQUFzQjtJQUtqQztRQUZVLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRzVDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDdkMsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNoQixDQUFBO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7K0dBakJVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHFKQ2JuQyx1Z0JBY0EsOC9CREhZLFlBQVksd1lBQUUsZUFBZTs7U0FFNUIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FHUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7MEVBRy9CLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvbnRlbnREZXNpZ24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGVudERpcmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb250ZW50LWRlc2lnbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudERlc2lnbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBJQ29udGVudERlc2lnbjtcblxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbnRlbnQgPSB7XG4gICAgICBjb250ZW50RGlyZWN0aW9uOiBDb250ZW50RGlyZWN0aW9uLmxlZnQsXG4gICAgICAuLi50aGlzLmNvbnRlbnQsXG4gICAgfVxuICB9XG5cbiAgb25CdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGVudC1kZXNpZ25lclwiIFtuZ0NsYXNzXT1cImNvbnRlbnQuY29udGVudERpcmVjdGlvblwiPlxuICA8ZGl2ICpuZ0lmPVwiY29udGVudC5jb3ZlckltYWdlXCIgY2xhc3M9XCJpbWFnZVwiPlxuICAgIDxpbWcgW3NyY109XCJjb250ZW50LmNvdmVySW1hZ2VcIiBhbHQ9XCJDb3ZlciBJbWFnZVwiPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxoMj57eyBjb250ZW50LnRpdGxlIH19PC9oMj5cbiAgICA8cD57eyBjb250ZW50LmNvbnRlbnQgfX08L3A+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50LnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGFwcC1idXR0b24gKm5nSWY9XCJjb250ZW50LmJ1dHRvblwiIFtjb25maWddID0gXCJjb250ZW50LmJ1dHRvblwiXG4gICAgKGNsaWNrRXZlbnQpPVwib25CdXR0b25DbGljaygpXCI+XG4gICAgPC9hcHAtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export var DesignType;
|
|
2
|
+
(function (DesignType) {
|
|
3
|
+
DesignType["normal"] = "normal";
|
|
4
|
+
DesignType["contrast"] = "contrast";
|
|
5
|
+
})(DesignType || (DesignType = {}));
|
|
6
|
+
export var ButtonType;
|
|
7
|
+
(function (ButtonType) {
|
|
8
|
+
ButtonType["submit"] = "submit";
|
|
9
|
+
ButtonType["button"] = "button";
|
|
10
|
+
})(ButtonType || (ButtonType = {}));
|
|
11
|
+
export var InputGroupType;
|
|
12
|
+
(function (InputGroupType) {
|
|
13
|
+
InputGroupType["textual"] = "textual";
|
|
14
|
+
InputGroupType["datetime"] = "datetime";
|
|
15
|
+
InputGroupType["selection"] = "selection";
|
|
16
|
+
InputGroupType["file"] = "file";
|
|
17
|
+
})(InputGroupType || (InputGroupType = {}));
|
|
18
|
+
export var InputDirection;
|
|
19
|
+
(function (InputDirection) {
|
|
20
|
+
InputDirection["horizontal"] = "horizontal";
|
|
21
|
+
InputDirection["vertical"] = "vertical";
|
|
22
|
+
})(InputDirection || (InputDirection = {}));
|
|
23
|
+
export var InputType;
|
|
24
|
+
(function (InputType) {
|
|
25
|
+
InputType["image"] = "image";
|
|
26
|
+
InputType["text"] = "text";
|
|
27
|
+
InputType["richText"] = "richText";
|
|
28
|
+
InputType["password"] = "password";
|
|
29
|
+
InputType["email"] = "email";
|
|
30
|
+
InputType["url"] = "url";
|
|
31
|
+
InputType["tel"] = "tel";
|
|
32
|
+
InputType["search"] = "search";
|
|
33
|
+
InputType["number"] = "number";
|
|
34
|
+
InputType["range"] = "range";
|
|
35
|
+
InputType["hidden"] = "hidden";
|
|
36
|
+
InputType["textarea"] = "textarea";
|
|
37
|
+
InputType["datetime"] = "datetime";
|
|
38
|
+
InputType["checkbox"] = "checkbox";
|
|
39
|
+
InputType["radio"] = "radio";
|
|
40
|
+
InputType["select"] = "select";
|
|
41
|
+
InputType["file"] = "file";
|
|
42
|
+
})(InputType || (InputType = {}));
|
|
43
|
+
export var ContentDirection;
|
|
44
|
+
(function (ContentDirection) {
|
|
45
|
+
ContentDirection["left"] = "left";
|
|
46
|
+
ContentDirection["right"] = "right";
|
|
47
|
+
ContentDirection["up"] = "up";
|
|
48
|
+
ContentDirection["down"] = "down";
|
|
49
|
+
})(ContentDirection || (ContentDirection = {}));
|
|
50
|
+
export var SelectionType;
|
|
51
|
+
(function (SelectionType) {
|
|
52
|
+
SelectionType["dropdown"] = "dropdown";
|
|
53
|
+
SelectionType["radio"] = "radio";
|
|
54
|
+
SelectionType["checkbox"] = "checkbox";
|
|
55
|
+
})(SelectionType || (SelectionType = {}));
|
|
56
|
+
export var LoadingSize;
|
|
57
|
+
(function (LoadingSize) {
|
|
58
|
+
LoadingSize["Xbig"] = "xbig";
|
|
59
|
+
LoadingSize["Big"] = "big";
|
|
60
|
+
LoadingSize["Medium"] = "medium";
|
|
61
|
+
LoadingSize["Small"] = "small";
|
|
62
|
+
LoadingSize["Xsmall"] = "xsmall";
|
|
63
|
+
})(LoadingSize || (LoadingSize = {}));
|
|
64
|
+
export var MenuDirection;
|
|
65
|
+
(function (MenuDirection) {
|
|
66
|
+
MenuDirection["vertical"] = "vertical";
|
|
67
|
+
MenuDirection["horizontal"] = "horizontal";
|
|
68
|
+
})(MenuDirection || (MenuDirection = {}));
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9zaGFyZWQvZW51bXMvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLG1DQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsK0JBQWlCLENBQUE7SUFDakIsK0JBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLFVBQVUsS0FBVixVQUFVLFFBR3JCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixxQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBcUIsQ0FBQTtJQUNyQix5Q0FBdUIsQ0FBQTtJQUN2QiwrQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QiwyQ0FBeUIsQ0FBQTtJQUN6Qix1Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQWtCWDtBQWxCRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBZSxDQUFBO0lBQ2Ysd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtJQUNqQiw4QkFBaUIsQ0FBQTtJQUNqQiw0QkFBZSxDQUFBO0lBQ2YsOEJBQWlCLENBQUE7SUFDakIsa0NBQXFCLENBQUE7SUFDckIsa0NBQXFCLENBQUE7SUFDckIsa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBbEJXLFNBQVMsS0FBVCxTQUFTLFFBa0JwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLG1DQUFlLENBQUE7SUFDZiw2QkFBUyxDQUFBO0lBQ1QsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2Ysc0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBRUQsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUN0Qiw0QkFBYSxDQUFBO0lBQ2IsMEJBQVcsQ0FBQTtJQUNYLGdDQUFpQixDQUFBO0lBQ2pCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtBQUNsQixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHNDQUFxQixDQUFBO0lBQ3JCLDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgZW51bSBEZXNpZ25UeXBlIHtcclxuICBub3JtYWwgPSAnbm9ybWFsJyxcclxuICBjb250cmFzdCA9ICdjb250cmFzdCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQnV0dG9uVHlwZSB7XHJcbiAgc3VibWl0ID0gJ3N1Ym1pdCcsXHJcbiAgYnV0dG9uID0gJ2J1dHRvbidcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW5wdXRHcm91cFR5cGUge1xyXG4gIHRleHR1YWwgPSAndGV4dHVhbCcsXHJcbiAgZGF0ZXRpbWUgPSAnZGF0ZXRpbWUnLFxyXG4gIHNlbGVjdGlvbiA9ICdzZWxlY3Rpb24nLFxyXG4gIGZpbGUgPSAnZmlsZSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW5wdXREaXJlY3Rpb24ge1xyXG4gIGhvcml6b250YWwgPSAnaG9yaXpvbnRhbCcsXHJcbiAgdmVydGljYWwgPSAndmVydGljYWwnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIElucHV0VHlwZSB7XHJcbiAgaW1hZ2UgPSAnaW1hZ2UnLFxyXG4gIHRleHQgPSAndGV4dCcsXHJcbiAgcmljaFRleHQgPSAncmljaFRleHQnLFxyXG4gIHBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcclxuICBlbWFpbCA9ICdlbWFpbCcsXHJcbiAgdXJsID0gJ3VybCcsXHJcbiAgdGVsID0gJ3RlbCcsXHJcbiAgc2VhcmNoID0gJ3NlYXJjaCcsXHJcbiAgbnVtYmVyID0gJ251bWJlcicsXHJcbiAgcmFuZ2UgPSAncmFuZ2UnLFxyXG4gIGhpZGRlbiA9ICdoaWRkZW4nLFxyXG4gIHRleHRhcmVhID0gJ3RleHRhcmVhJyxcclxuICBkYXRldGltZSA9ICdkYXRldGltZScsXHJcbiAgY2hlY2tib3ggPSAnY2hlY2tib3gnLFxyXG4gIHJhZGlvID0gJ3JhZGlvJyxcclxuICBzZWxlY3QgPSAnc2VsZWN0JyxcclxuICBmaWxlID0gJ2ZpbGUnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENvbnRlbnREaXJlY3Rpb24ge1xyXG4gIGxlZnQgPSAnbGVmdCcsXHJcbiAgcmlnaHQgPSAncmlnaHQnLFxyXG4gIHVwID0gJ3VwJyxcclxuICBkb3duID0gJ2Rvd24nXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNlbGVjdGlvblR5cGUge1xyXG4gIGRyb3Bkb3duID0gJ2Ryb3Bkb3duJyxcclxuICByYWRpbyA9ICdyYWRpbycsXHJcbiAgY2hlY2tib3ggPSAnY2hlY2tib3gnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIExvYWRpbmdTaXplIHtcclxuXHRYYmlnID0gJ3hiaWcnLFxyXG5cdEJpZyA9ICdiaWcnLFxyXG5cdE1lZGl1bSA9ICdtZWRpdW0nLFxyXG5cdFNtYWxsID0gJ3NtYWxsJyxcclxuXHRYc21hbGwgPSAneHNtYWxsJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBNZW51RGlyZWN0aW9uIHtcclxuICB2ZXJ0aWNhbCA9ICd2ZXJ0aWNhbCcsXHJcbiAgaG9yaXpvbnRhbCA9ICdob3Jpem9udGFsJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCdXR0b25UeXBlLCBDb250ZW50RGlyZWN0aW9uLCBEZXNpZ25UeXBlLCBJbnB1dERpcmVjdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSBcIi4uL2VudW1zL2VudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvbkNvbmZpZyB7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xyXG4gIGRlc2lnblR5cGU/OiBEZXNpZ25UeXBlO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGljb25WYWx1ZT86IHN0cmluZztcclxuICB0eXBlPzogQnV0dG9uVHlwZTtcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUlucHV0Q29uZmlnIHtcclxuICByZXF1aXJlZDogYm9vbGVhbjtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgdHlwZT86IElucHV0VHlwZTsgLy8gT3B0aW9uYWwsIGRlZmF1bHRzIHRvIElucHV0VHlwZS50ZXh0XHJcbiAgZGlyZWN0aW9uPzogSW5wdXREaXJlY3Rpb247IC8vIE9wdGlvbmFsLCBkZWZhdWx0cyB0byBJbnB1dERpcmVjdGlvbi52ZXJ0aWNhbFxyXG4gIGlzVmFsaWQ/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiBJRHJvcGRvd25PcHRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVudERlc2lnbiB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBjb3ZlckltYWdlPzogc3RyaW5nO1xyXG4gIGlzc3VlZERhdGU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgY29udGVudERpcmVjdGlvbj86IENvbnRlbnREaXJlY3Rpb247XHJcbiAgY29udGVudD86IHN0cmluZztcclxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsO1xyXG4gIGJ1dHRvbj86IElCdXR0b25Db25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURyb3Bkb3duT3B0aW9uIHtcclxuICBsYWJlbDogc3RyaW5nOyAvLyBUaGUgZGlzcGxheSBsYWJlbCBvZiB0aGUgb3B0aW9uXHJcbiAgdmFsdWU6IGFueTsgICAgLy8gVGhlIHVuZGVybHlpbmcgdmFsdWUgb2YgdGhlIG9wdGlvblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZW51SXRlbSB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICByb3V0ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGFsRXZlbnQge1xyXG4gIGlzRGlhbG9nOiBib29sZWFuO1xyXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xyXG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIG9uT2s/OiAoKT0+IHZvaWQ7XHJcbiAgb25DYW5jZWw/OiAoKT0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRvciB7XHJcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRQYWdlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb2x1bW5Db25maWcge1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of angular-dumb-lib
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/angular-dumb-lib.service';
|
|
5
|
+
export * from './lib/angular-dumb-lib.component';
|
|
6
|
+
export * from './lib/angular-dumb-lib.module';
|
|
7
|
+
export * from './lib/components/atoms/button/button.component';
|
|
8
|
+
export * from './lib/components/atoms/input/input.component';
|
|
9
|
+
export * from './lib/components/molecules/content-design/content-design.component';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvRUFBb0UsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWR1bWItbGliXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1kdW1iLWxpYi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWR1bWItbGliLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtZGVzaWduL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudCdcclxuIl19
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Component, NgModule, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
|
+
|
|
8
|
+
class AngularDumbLibService {
|
|
9
|
+
constructor() { }
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, providedIn: 'root' }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibService, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{
|
|
16
|
+
providedIn: 'root'
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return []; } });
|
|
19
|
+
|
|
20
|
+
class AngularDumbLibComponent {
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AngularDumbLibComponent, selector: "lib-angular-dumb-lib", ngImport: i0, template: `
|
|
23
|
+
<p>
|
|
24
|
+
angular-dumb-lib works!
|
|
25
|
+
</p>
|
|
26
|
+
`, isInline: true }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'lib-angular-dumb-lib', template: `
|
|
31
|
+
<p>
|
|
32
|
+
angular-dumb-lib works!
|
|
33
|
+
</p>
|
|
34
|
+
` }]
|
|
35
|
+
}] });
|
|
36
|
+
|
|
37
|
+
class AngularDumbLibModule {
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
39
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, declarations: [AngularDumbLibComponent], imports: [CommonModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
ReactiveFormsModule], exports: [AngularDumbLibComponent] }); }
|
|
42
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, imports: [CommonModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
ReactiveFormsModule] }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibModule, decorators: [{
|
|
47
|
+
type: NgModule,
|
|
48
|
+
args: [{
|
|
49
|
+
declarations: [
|
|
50
|
+
AngularDumbLibComponent,
|
|
51
|
+
],
|
|
52
|
+
imports: [
|
|
53
|
+
CommonModule,
|
|
54
|
+
FormsModule,
|
|
55
|
+
ReactiveFormsModule,
|
|
56
|
+
],
|
|
57
|
+
exports: [
|
|
58
|
+
AngularDumbLibComponent,
|
|
59
|
+
]
|
|
60
|
+
}]
|
|
61
|
+
}] });
|
|
62
|
+
|
|
63
|
+
var DesignType;
|
|
64
|
+
(function (DesignType) {
|
|
65
|
+
DesignType["normal"] = "normal";
|
|
66
|
+
DesignType["contrast"] = "contrast";
|
|
67
|
+
})(DesignType || (DesignType = {}));
|
|
68
|
+
var ButtonType;
|
|
69
|
+
(function (ButtonType) {
|
|
70
|
+
ButtonType["submit"] = "submit";
|
|
71
|
+
ButtonType["button"] = "button";
|
|
72
|
+
})(ButtonType || (ButtonType = {}));
|
|
73
|
+
var InputGroupType;
|
|
74
|
+
(function (InputGroupType) {
|
|
75
|
+
InputGroupType["textual"] = "textual";
|
|
76
|
+
InputGroupType["datetime"] = "datetime";
|
|
77
|
+
InputGroupType["selection"] = "selection";
|
|
78
|
+
InputGroupType["file"] = "file";
|
|
79
|
+
})(InputGroupType || (InputGroupType = {}));
|
|
80
|
+
var InputDirection;
|
|
81
|
+
(function (InputDirection) {
|
|
82
|
+
InputDirection["horizontal"] = "horizontal";
|
|
83
|
+
InputDirection["vertical"] = "vertical";
|
|
84
|
+
})(InputDirection || (InputDirection = {}));
|
|
85
|
+
var InputType;
|
|
86
|
+
(function (InputType) {
|
|
87
|
+
InputType["image"] = "image";
|
|
88
|
+
InputType["text"] = "text";
|
|
89
|
+
InputType["richText"] = "richText";
|
|
90
|
+
InputType["password"] = "password";
|
|
91
|
+
InputType["email"] = "email";
|
|
92
|
+
InputType["url"] = "url";
|
|
93
|
+
InputType["tel"] = "tel";
|
|
94
|
+
InputType["search"] = "search";
|
|
95
|
+
InputType["number"] = "number";
|
|
96
|
+
InputType["range"] = "range";
|
|
97
|
+
InputType["hidden"] = "hidden";
|
|
98
|
+
InputType["textarea"] = "textarea";
|
|
99
|
+
InputType["datetime"] = "datetime";
|
|
100
|
+
InputType["checkbox"] = "checkbox";
|
|
101
|
+
InputType["radio"] = "radio";
|
|
102
|
+
InputType["select"] = "select";
|
|
103
|
+
InputType["file"] = "file";
|
|
104
|
+
})(InputType || (InputType = {}));
|
|
105
|
+
var ContentDirection;
|
|
106
|
+
(function (ContentDirection) {
|
|
107
|
+
ContentDirection["left"] = "left";
|
|
108
|
+
ContentDirection["right"] = "right";
|
|
109
|
+
ContentDirection["up"] = "up";
|
|
110
|
+
ContentDirection["down"] = "down";
|
|
111
|
+
})(ContentDirection || (ContentDirection = {}));
|
|
112
|
+
var SelectionType;
|
|
113
|
+
(function (SelectionType) {
|
|
114
|
+
SelectionType["dropdown"] = "dropdown";
|
|
115
|
+
SelectionType["radio"] = "radio";
|
|
116
|
+
SelectionType["checkbox"] = "checkbox";
|
|
117
|
+
})(SelectionType || (SelectionType = {}));
|
|
118
|
+
var LoadingSize;
|
|
119
|
+
(function (LoadingSize) {
|
|
120
|
+
LoadingSize["Xbig"] = "xbig";
|
|
121
|
+
LoadingSize["Big"] = "big";
|
|
122
|
+
LoadingSize["Medium"] = "medium";
|
|
123
|
+
LoadingSize["Small"] = "small";
|
|
124
|
+
LoadingSize["Xsmall"] = "xsmall";
|
|
125
|
+
})(LoadingSize || (LoadingSize = {}));
|
|
126
|
+
var MenuDirection;
|
|
127
|
+
(function (MenuDirection) {
|
|
128
|
+
MenuDirection["vertical"] = "vertical";
|
|
129
|
+
MenuDirection["horizontal"] = "horizontal";
|
|
130
|
+
})(MenuDirection || (MenuDirection = {}));
|
|
131
|
+
|
|
132
|
+
class ButtonComponent {
|
|
133
|
+
constructor() {
|
|
134
|
+
this.clickEvent = new EventEmitter();
|
|
135
|
+
}
|
|
136
|
+
ngOnInit() {
|
|
137
|
+
this.config = {
|
|
138
|
+
isDisabled: false,
|
|
139
|
+
isActive: false,
|
|
140
|
+
designType: DesignType.normal,
|
|
141
|
+
type: ButtonType.submit,
|
|
142
|
+
...this.config,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
onButtonClick() {
|
|
146
|
+
this.clickEvent.emit();
|
|
147
|
+
}
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { config: "config" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:.25rem;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#007bff;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#0056d2}button.btn.btn-primary.contrast{color:#007bff;border:1px solid #4A90E2}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#e6f0fa;color:#1a1a1a}button.btn.btn-primary.active{background-color:#003d99;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#0056d2;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:.25rem;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#007bff;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#0056d2}button.btn.btn-primary.contrast{color:#007bff;border:1px solid #4A90E2}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#e6f0fa;color:#1a1a1a}button.btn.btn-primary.active{background-color:#003d99;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#0056d2;color:#fff}\n"] }]
|
|
154
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], clickEvent: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}] } });
|
|
159
|
+
|
|
160
|
+
class InputComponent {
|
|
161
|
+
get value() {
|
|
162
|
+
return this._value;
|
|
163
|
+
}
|
|
164
|
+
set value(value) {
|
|
165
|
+
this._value = value;
|
|
166
|
+
this.onChange(this._value);
|
|
167
|
+
this.onTouched();
|
|
168
|
+
}
|
|
169
|
+
constructor() {
|
|
170
|
+
this._value = '';
|
|
171
|
+
this.onChange = () => { };
|
|
172
|
+
this.onTouched = () => { };
|
|
173
|
+
}
|
|
174
|
+
writeValue(value) {
|
|
175
|
+
this._value = value;
|
|
176
|
+
}
|
|
177
|
+
registerOnChange(fn) {
|
|
178
|
+
this.onChange = fn;
|
|
179
|
+
}
|
|
180
|
+
registerOnTouched(fn) {
|
|
181
|
+
this.onTouched = fn;
|
|
182
|
+
}
|
|
183
|
+
ngOnInit() {
|
|
184
|
+
this.config = {
|
|
185
|
+
type: InputType.text,
|
|
186
|
+
direction: InputDirection.vertical,
|
|
187
|
+
isValid: true,
|
|
188
|
+
...this.config,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { config: "config" }, providers: [{
|
|
193
|
+
provide: NG_VALUE_ACCESSOR,
|
|
194
|
+
useExisting: forwardRef(() => InputComponent),
|
|
195
|
+
multi: true
|
|
196
|
+
}], ngImport: i0, template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
197
|
+
}
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
|
|
199
|
+
type: Component,
|
|
200
|
+
args: [{ selector: 'app-input', standalone: true, providers: [{
|
|
201
|
+
provide: NG_VALUE_ACCESSOR,
|
|
202
|
+
useExisting: forwardRef(() => InputComponent),
|
|
203
|
+
multi: true
|
|
204
|
+
}], imports: [CommonModule, FormsModule], template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"] }]
|
|
205
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}] } });
|
|
208
|
+
|
|
209
|
+
class ContentDesignComponent {
|
|
210
|
+
constructor() {
|
|
211
|
+
this.clickEvent = new EventEmitter();
|
|
212
|
+
}
|
|
213
|
+
ngOnInit() {
|
|
214
|
+
this.content = {
|
|
215
|
+
contentDirection: ContentDirection.left,
|
|
216
|
+
...this.content,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
onButtonClick() {
|
|
220
|
+
this.clickEvent.emit();
|
|
221
|
+
}
|
|
222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentDesignComponent, isStandalone: true, selector: "app-content-design", inputs: { content: "content" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n\n <div class=\"content\">\n <h2>{{ content.title }}</h2>\n <p>{{ content.content }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick()\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%;padding:0 20px}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;justify-content:center}.content-designer.up{flex-direction:column-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }] }); }
|
|
224
|
+
}
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, decorators: [{
|
|
226
|
+
type: Component,
|
|
227
|
+
args: [{ selector: 'app-content-design', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n\n <div class=\"content\">\n <h2>{{ content.title }}</h2>\n <p>{{ content.content }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick()\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%;padding:0 20px}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;justify-content:center}.content-designer.up{flex-direction:column-reverse}\n"] }]
|
|
228
|
+
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], clickEvent: [{
|
|
231
|
+
type: Output
|
|
232
|
+
}] } });
|
|
233
|
+
|
|
234
|
+
/*
|
|
235
|
+
* Public API Surface of angular-dumb-lib
|
|
236
|
+
*/
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Generated bundle index. Do not edit.
|
|
240
|
+
*/
|
|
241
|
+
|
|
242
|
+
export { AngularDumbLibComponent, AngularDumbLibModule, AngularDumbLibService, ButtonComponent, ContentDesignComponent, InputComponent };
|
|
243
|
+
//# sourceMappingURL=angular-dumb-lib.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-dumb-lib.mjs","sources":["../../../projects/angular-dumb-lib/src/lib/angular-dumb-lib.service.ts","../../../projects/angular-dumb-lib/src/lib/angular-dumb-lib.component.ts","../../../projects/angular-dumb-lib/src/lib/angular-dumb-lib.module.ts","../../../projects/angular-dumb-lib/src/lib/shared/enums/enum.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/button/button.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/button/button.component.html","../../../projects/angular-dumb-lib/src/lib/components/atoms/input/input.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/input/input.component.html","../../../projects/angular-dumb-lib/src/lib/components/molecules/content-design/content-design.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/content-design/content-design.component.html","../../../projects/angular-dumb-lib/src/public-api.ts","../../../projects/angular-dumb-lib/src/angular-dumb-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AngularDumbLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-angular-dumb-lib',\n template: `\n <p>\n angular-dumb-lib works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AngularDumbLibComponent {\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { AngularDumbLibComponent } from './angular-dumb-lib.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n AngularDumbLibComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n AngularDumbLibComponent,\r\n ]\r\n})\r\nexport class AngularDumbLibModule { }\r\n","\r\nexport enum DesignType {\r\n normal = 'normal',\r\n contrast = 'contrast'\r\n}\r\n\r\nexport enum ButtonType {\r\n submit = 'submit',\r\n button = 'button'\r\n}\r\n\r\nexport enum InputGroupType {\r\n textual = 'textual',\r\n datetime = 'datetime',\r\n selection = 'selection',\r\n file = 'file'\r\n}\r\n\r\nexport enum InputDirection {\r\n horizontal = 'horizontal',\r\n vertical = 'vertical'\r\n}\r\n\r\nexport enum InputType {\r\n image = 'image',\r\n text = 'text',\r\n richText = 'richText',\r\n password = 'password',\r\n email = 'email',\r\n url = 'url',\r\n tel = 'tel',\r\n search = 'search',\r\n number = 'number',\r\n range = 'range',\r\n hidden = 'hidden',\r\n textarea = 'textarea',\r\n datetime = 'datetime',\r\n checkbox = 'checkbox',\r\n radio = 'radio',\r\n select = 'select',\r\n file = 'file'\r\n}\r\n\r\nexport enum ContentDirection {\r\n left = 'left',\r\n right = 'right',\r\n up = 'up',\r\n down = 'down'\r\n}\r\n\r\nexport enum SelectionType {\r\n dropdown = 'dropdown',\r\n radio = 'radio',\r\n checkbox = 'checkbox'\r\n}\r\n\r\nexport enum LoadingSize {\r\n\tXbig = 'xbig',\r\n\tBig = 'big',\r\n\tMedium = 'medium',\r\n\tSmall = 'small',\r\n\tXsmall = 'xsmall'\r\n}\r\n\r\nexport enum MenuDirection {\r\n vertical = 'vertical',\r\n horizontal = 'horizontal'\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ButtonType, DesignType } from '../../../shared/enums/enum';\r\nimport { IButtonConfig } from '../../../shared/interfaces/interface';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n standalone: true,\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n imports: [CommonModule]\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n @Input() config!: IButtonConfig;\r\n\r\n @Output() clickEvent = new EventEmitter<void>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.config = {\r\n isDisabled: false,\r\n isActive: false,\r\n designType: DesignType.normal,\r\n type: ButtonType.submit,\r\n ...this.config,\r\n }\r\n }\r\n\r\n onButtonClick() {\r\n this.clickEvent.emit();\r\n }\r\n}\r\n","<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n","import { Component, Input, OnInit, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { InputDirection, InputType } from '../../../shared/enums/enum';\r\nimport { IInputConfig } from '../../../shared/interfaces/interface';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-input',\r\n standalone: true,\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputComponent),\r\n multi: true\r\n }],\r\n imports: [CommonModule, FormsModule]\r\n})\r\nexport class InputComponent implements OnInit, ControlValueAccessor {\r\n @Input() config!: IInputConfig;\r\n\r\n private _value: any = '';\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set value(value: any) {\r\n this._value = value;\r\n this.onChange(this._value);\r\n this.onTouched();\r\n }\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n constructor() { }\r\n\r\n writeValue(value: any): void {\r\n this._value = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn\r\n }\r\n\r\n ngOnInit() {\r\n this.config = {\r\n type: InputType.text,\r\n direction: InputDirection.vertical,\r\n isValid: true,\r\n ...this.config,\r\n };\r\n }\r\n}\r\n","<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IContentDesign } from '../../../shared/interfaces/interface';\nimport { ContentDirection } from '../../../shared/enums/enum';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-content-design',\n standalone: true,\n templateUrl: './content-design.component.html',\n styleUrls: ['./content-design.component.scss'],\n imports: [CommonModule, ButtonComponent]\n})\nexport class ContentDesignComponent implements OnInit {\n @Input() content!: IContentDesign;\n\n @Output() clickEvent = new EventEmitter<void>();\n\n constructor(\n ) { }\n\n ngOnInit() {\n this.content = {\n contentDirection: ContentDirection.left,\n ...this.content,\n }\n }\n\n onButtonClick() {\n this.clickEvent.emit();\n }\n}\n","<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n\n <div class=\"content\">\n <h2>{{ content.title }}</h2>\n <p>{{ content.content }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick()\">\n </app-button>\n </div>\n</div>\n","/*\r\n * Public API Surface of angular-dumb-lib\r\n */\r\n\r\nexport * from './lib/angular-dumb-lib.service';\r\nexport * from './lib/angular-dumb-lib.component';\r\nexport * from './lib/angular-dumb-lib.module';\r\nexport * from './lib/components/atoms/button/button.component';\r\nexport * from './lib/components/atoms/input/input.component';\r\nexport * from './lib/components/molecules/content-design/content-design.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class AngularDumbLibComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AngularDumbLibComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AngularDumbLibComponent, "lib-angular-dumb-lib", never, {}, {}, never, never, false, never>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./angular-dumb-lib.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/forms";
|
|
5
|
+
export declare class AngularDumbLibModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AngularDumbLibModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularDumbLibModule, [typeof i1.AngularDumbLibComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule], [typeof i1.AngularDumbLibComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AngularDumbLibModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { IButtonConfig } from '../../../shared/interfaces/interface';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ButtonComponent implements OnInit {
|
|
5
|
+
config: IButtonConfig;
|
|
6
|
+
clickEvent: EventEmitter<void>;
|
|
7
|
+
constructor();
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
onButtonClick(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "app-button", never, { "config": { "alias": "config"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { IInputConfig } from '../../../shared/interfaces/interface';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class InputComponent implements OnInit, ControlValueAccessor {
|
|
6
|
+
config: IInputConfig;
|
|
7
|
+
private _value;
|
|
8
|
+
get value(): any;
|
|
9
|
+
set value(value: any);
|
|
10
|
+
onChange: any;
|
|
11
|
+
onTouched: any;
|
|
12
|
+
constructor();
|
|
13
|
+
writeValue(value: any): void;
|
|
14
|
+
registerOnChange(fn: any): void;
|
|
15
|
+
registerOnTouched(fn: any): void;
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "app-input", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { IContentDesign } from '../../../shared/interfaces/interface';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ContentDesignComponent implements OnInit {
|
|
5
|
+
content: IContentDesign;
|
|
6
|
+
clickEvent: EventEmitter<void>;
|
|
7
|
+
constructor();
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
onButtonClick(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ContentDesignComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ContentDesignComponent, "app-content-design", never, { "content": { "alias": "content"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export declare enum DesignType {
|
|
2
|
+
normal = "normal",
|
|
3
|
+
contrast = "contrast"
|
|
4
|
+
}
|
|
5
|
+
export declare enum ButtonType {
|
|
6
|
+
submit = "submit",
|
|
7
|
+
button = "button"
|
|
8
|
+
}
|
|
9
|
+
export declare enum InputGroupType {
|
|
10
|
+
textual = "textual",
|
|
11
|
+
datetime = "datetime",
|
|
12
|
+
selection = "selection",
|
|
13
|
+
file = "file"
|
|
14
|
+
}
|
|
15
|
+
export declare enum InputDirection {
|
|
16
|
+
horizontal = "horizontal",
|
|
17
|
+
vertical = "vertical"
|
|
18
|
+
}
|
|
19
|
+
export declare enum InputType {
|
|
20
|
+
image = "image",
|
|
21
|
+
text = "text",
|
|
22
|
+
richText = "richText",
|
|
23
|
+
password = "password",
|
|
24
|
+
email = "email",
|
|
25
|
+
url = "url",
|
|
26
|
+
tel = "tel",
|
|
27
|
+
search = "search",
|
|
28
|
+
number = "number",
|
|
29
|
+
range = "range",
|
|
30
|
+
hidden = "hidden",
|
|
31
|
+
textarea = "textarea",
|
|
32
|
+
datetime = "datetime",
|
|
33
|
+
checkbox = "checkbox",
|
|
34
|
+
radio = "radio",
|
|
35
|
+
select = "select",
|
|
36
|
+
file = "file"
|
|
37
|
+
}
|
|
38
|
+
export declare enum ContentDirection {
|
|
39
|
+
left = "left",
|
|
40
|
+
right = "right",
|
|
41
|
+
up = "up",
|
|
42
|
+
down = "down"
|
|
43
|
+
}
|
|
44
|
+
export declare enum SelectionType {
|
|
45
|
+
dropdown = "dropdown",
|
|
46
|
+
radio = "radio",
|
|
47
|
+
checkbox = "checkbox"
|
|
48
|
+
}
|
|
49
|
+
export declare enum LoadingSize {
|
|
50
|
+
Xbig = "xbig",
|
|
51
|
+
Big = "big",
|
|
52
|
+
Medium = "medium",
|
|
53
|
+
Small = "small",
|
|
54
|
+
Xsmall = "xsmall"
|
|
55
|
+
}
|
|
56
|
+
export declare enum MenuDirection {
|
|
57
|
+
vertical = "vertical",
|
|
58
|
+
horizontal = "horizontal"
|
|
59
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { TemplateRef } from "@angular/core";
|
|
2
|
+
import { ButtonType, ContentDirection, DesignType, InputDirection, InputType } from "../enums/enum";
|
|
3
|
+
export interface IButtonConfig {
|
|
4
|
+
isDisabled?: boolean;
|
|
5
|
+
isActive?: boolean;
|
|
6
|
+
designType?: DesignType;
|
|
7
|
+
label?: string;
|
|
8
|
+
iconValue?: string;
|
|
9
|
+
type?: ButtonType;
|
|
10
|
+
action?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IInputConfig {
|
|
13
|
+
required: boolean;
|
|
14
|
+
label?: string;
|
|
15
|
+
name: string;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
type?: InputType;
|
|
18
|
+
direction?: InputDirection;
|
|
19
|
+
isValid?: boolean;
|
|
20
|
+
options?: IDropdownOption[];
|
|
21
|
+
}
|
|
22
|
+
export interface IContentDesign {
|
|
23
|
+
name?: string;
|
|
24
|
+
coverImage?: string;
|
|
25
|
+
issuedDate?: string;
|
|
26
|
+
title?: string;
|
|
27
|
+
contentDirection?: ContentDirection;
|
|
28
|
+
content?: string;
|
|
29
|
+
template: TemplateRef<unknown> | null;
|
|
30
|
+
button?: IButtonConfig;
|
|
31
|
+
}
|
|
32
|
+
export interface IDropdownOption {
|
|
33
|
+
label: string;
|
|
34
|
+
value: any;
|
|
35
|
+
}
|
|
36
|
+
export interface IMenuItem {
|
|
37
|
+
label: string;
|
|
38
|
+
route: string;
|
|
39
|
+
}
|
|
40
|
+
export interface IModalEvent {
|
|
41
|
+
isDialog: boolean;
|
|
42
|
+
isModalVisible: boolean;
|
|
43
|
+
template: TemplateRef<unknown> | null;
|
|
44
|
+
title: string;
|
|
45
|
+
params?: {
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
};
|
|
48
|
+
onOk?: () => void;
|
|
49
|
+
onCancel?: () => void;
|
|
50
|
+
}
|
|
51
|
+
export interface IPaginator {
|
|
52
|
+
itemsPerPage: number;
|
|
53
|
+
selectedPage: number;
|
|
54
|
+
}
|
|
55
|
+
export interface IDataColumnConfig {
|
|
56
|
+
field: string;
|
|
57
|
+
name: string;
|
|
58
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "angular-dumb-lib",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^16.0.0",
|
|
6
|
+
"@angular/core": "^16.0.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/angular-dumb-lib.mjs",
|
|
13
|
+
"typings": "index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"esm2022": "./esm2022/angular-dumb-lib.mjs",
|
|
21
|
+
"esm": "./esm2022/angular-dumb-lib.mjs",
|
|
22
|
+
"default": "./fesm2022/angular-dumb-lib.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './lib/angular-dumb-lib.service';
|
|
2
|
+
export * from './lib/angular-dumb-lib.component';
|
|
3
|
+
export * from './lib/angular-dumb-lib.module';
|
|
4
|
+
export * from './lib/components/atoms/button/button.component';
|
|
5
|
+
export * from './lib/components/atoms/input/input.component';
|
|
6
|
+
export * from './lib/components/molecules/content-design/content-design.component';
|