angular-dumb-lib 0.0.8 → 0.0.10

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.
Files changed (43) hide show
  1. package/esm2022/lib/angular-dumb-lib.module.mjs +4 -14
  2. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/datetime-picker/datetime-picker.component.mjs +58 -0
  4. package/esm2022/lib/components/atoms/file-selection/file-selection.component.mjs +85 -0
  5. package/esm2022/lib/components/atoms/input/input.component.mjs +3 -3
  6. package/esm2022/lib/components/atoms/loading/loading.component.mjs +25 -0
  7. package/esm2022/lib/components/atoms/selection/selection.component.mjs +92 -0
  8. package/esm2022/lib/components/atoms/slider/slider.component.mjs +42 -0
  9. package/esm2022/lib/components/atoms/tags/tags.component.mjs +62 -0
  10. package/esm2022/lib/components/molecules/cards/cards.component.mjs +22 -0
  11. package/esm2022/lib/components/molecules/form/form.component.mjs +71 -0
  12. package/esm2022/lib/components/molecules/modal/modal.component.mjs +45 -0
  13. package/esm2022/lib/components/molecules/paginator/paginator.component.mjs +118 -0
  14. package/esm2022/lib/components/molecules/table/table.component.mjs +51 -0
  15. package/esm2022/lib/components/pages/footer/footer.component.mjs +15 -0
  16. package/esm2022/lib/components/pages/login/login.component.mjs +31 -0
  17. package/esm2022/lib/components/pages/menu/menu.component.mjs +31 -0
  18. package/esm2022/lib/components/pages/version/version.component.mjs +26 -0
  19. package/esm2022/lib/shared/constants/constant.mjs +6 -0
  20. package/esm2022/lib/shared/enums/enum.mjs +1 -1
  21. package/esm2022/lib/shared/interfaces/interface.mjs +1 -1
  22. package/esm2022/public-api.mjs +19 -1
  23. package/fesm2022/angular-dumb-lib.mjs +690 -18
  24. package/fesm2022/angular-dumb-lib.mjs.map +1 -1
  25. package/lib/angular-dumb-lib.module.d.ts +1 -3
  26. package/lib/components/atoms/datetime-picker/datetime-picker.component.d.ts +17 -0
  27. package/lib/components/atoms/file-selection/file-selection.component.d.ts +25 -0
  28. package/lib/components/atoms/loading/loading.component.d.ts +11 -0
  29. package/lib/components/atoms/selection/selection.component.d.ts +28 -0
  30. package/lib/components/atoms/slider/slider.component.d.ts +14 -0
  31. package/lib/components/atoms/tags/tags.component.d.ts +19 -0
  32. package/lib/components/molecules/cards/cards.component.d.ts +10 -0
  33. package/lib/components/molecules/form/form.component.d.ts +23 -0
  34. package/lib/components/molecules/modal/modal.component.d.ts +17 -0
  35. package/lib/components/molecules/paginator/paginator.component.d.ts +29 -0
  36. package/lib/components/molecules/table/table.component.d.ts +20 -0
  37. package/lib/components/pages/footer/footer.component.d.ts +8 -0
  38. package/lib/components/pages/login/login.component.d.ts +11 -0
  39. package/lib/components/pages/menu/menu.component.d.ts +14 -0
  40. package/lib/components/pages/version/version.component.d.ts +10 -0
  41. package/lib/shared/constants/constant.d.ts +3 -0
  42. package/package.json +1 -1
  43. package/public-api.d.ts +17 -0
@@ -1 +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":";;;;;;;AAEA,MAGa,qBAAqB,CAAA;AAEhC,IAAA,WAAA,GAAA,GAAiB;+GAFN,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACFD,MAUa,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EARxB,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;ACHH,MAaa,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAX7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGvB,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAGnB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAR7B,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAMV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;AACxB,qBAAA;AACF,iBAAA,CAAA;;;AChBD,IAAY,UAGX,CAAA;AAHD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,KAAV,UAAU,GAGrB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,UAGX,CAAA;AAHD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,GAGrB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,cAKX,CAAA;AALD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,cAGX,CAAA;AAHD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAHW,cAAc,KAAd,cAAc,GAGzB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,SAkBX,CAAA;AAlBD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAlBW,SAAS,KAAT,SAAS,GAkBpB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,gBAKX,CAAA;AALD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,aAIX,CAAA;AAJD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,WAMX,CAAA;AAND,CAAA,UAAY,WAAW,EAAA;AACtB,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AAClB,CAAC,EANW,WAAW,KAAX,WAAW,GAMtB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,aAGX,CAAA;AAHD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA;;AC9DD,MAOa,eAAe,CAAA;AAK1B,IAAA,WAAA,GAAA;AAFU,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;KAE/B;IAEjB,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,IAAI,EAAE,UAAU,CAAC,MAAM;YACvB,GAAG,IAAI,CAAC,MAAM;SACf,CAAA;KACF;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;+GAnBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ5B,glBAeA,EAAA,MAAA,EAAA,CAAA,+zBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EAGP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,glBAAA,EAAA,MAAA,EAAA,CAAA,+zBAAA,CAAA,EAAA,CAAA;0EAGd,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AETT,MAYa,cAAc,CAAA;AAKzB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IAED,IAAI,KAAK,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAKD,IAAA,WAAA,GAAA;QAfQ,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;AAYzB,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;KAET;AAEjB,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;KACpB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,SAAS,EAAE,cAAc,CAAC,QAAQ;AAClC,YAAA,OAAO,EAAE,IAAI;YACb,GAAG,IAAI,CAAC,MAAM;SACf,CAAC;KACH;+GArCU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,sFAPd,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAC7C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,ECfJ,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ooCA4BA,EDZY,MAAA,EAAA,CAAA,kvBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,gOAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAExB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EAAA,SAAA,EAGL,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC;AAC7C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA,CAAC,EACO,OAAA,EAAA,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,ooCAAA,EAAA,MAAA,EAAA,CAAA,kvBAAA,CAAA,EAAA,CAAA;0EAG3B,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEbR,MAOa,sBAAsB,CAAA;AAKjC,IAAA,WAAA,GAAA;AAFU,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;KAG3C;IAEL,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG;YACb,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;YACvC,GAAG,IAAI,CAAC,OAAO;SAChB,CAAA;KACF;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;+GAjBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,ECbnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ugBAcA,EDHY,MAAA,EAAA,CAAA,u8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wYAAE,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE5B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EAGP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,ugBAAA,EAAA,MAAA,EAAA,CAAA,u8BAAA,CAAA,EAAA,CAAA;0EAG/B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AEhBT;;AAEG;;ACFH;;AAEG;;;;"}
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/datetime-picker/datetime-picker.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/datetime-picker/datetime-picker.component.html","../../../projects/angular-dumb-lib/src/lib/components/atoms/file-selection/file-selection.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/file-selection/file-selection.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/atoms/loading/loading.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/loading/loading.component.html","../../../projects/angular-dumb-lib/src/lib/components/atoms/selection/selection.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/selection/selection.component.html","../../../projects/angular-dumb-lib/src/lib/components/atoms/slider/slider.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/slider/slider.component.html","../../../projects/angular-dumb-lib/src/lib/components/atoms/tags/tags.component.ts","../../../projects/angular-dumb-lib/src/lib/components/atoms/tags/tags.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/lib/components/molecules/cards/cards.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/cards/cards.component.html","../../../projects/angular-dumb-lib/src/lib/shared/constants/constant.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/form/form.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/form/form.component.html","../../../projects/angular-dumb-lib/src/lib/components/molecules/modal/modal.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/modal/modal.component.html","../../../projects/angular-dumb-lib/src/lib/components/molecules/paginator/paginator.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/paginator/paginator.component.html","../../../projects/angular-dumb-lib/src/lib/components/molecules/table/table.component.ts","../../../projects/angular-dumb-lib/src/lib/components/molecules/table/table.component.html","../../../projects/angular-dumb-lib/src/lib/components/pages/footer/footer.component.ts","../../../projects/angular-dumb-lib/src/lib/components/pages/footer/footer.component.html","../../../projects/angular-dumb-lib/src/lib/components/pages/login/login.component.ts","../../../projects/angular-dumb-lib/src/lib/components/pages/login/login.component.html","../../../projects/angular-dumb-lib/src/lib/components/pages/menu/menu.component.ts","../../../projects/angular-dumb-lib/src/lib/components/pages/menu/menu.component.html","../../../projects/angular-dumb-lib/src/lib/components/pages/version/version.component.ts","../../../projects/angular-dumb-lib/src/lib/components/pages/version/version.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';\nimport { AngularDumbLibComponent } from './angular-dumb-lib.component';\n\n@NgModule({\n declarations: [\n AngularDumbLibComponent,\n ],\n imports: [\n ],\n exports: [\n AngularDumbLibComponent,\n ]\n})\nexport class AngularDumbLibModule { }\n","\nexport enum DesignType {\n normal = 'normal',\n contrast = 'contrast'\n}\n\nexport enum ButtonType {\n submit = 'submit',\n button = 'button'\n}\n\nexport enum InputGroupType {\n textual = 'textual',\n datetime = 'datetime',\n selection = 'selection',\n file = 'file'\n}\n\nexport enum InputDirection {\n horizontal = 'horizontal',\n vertical = 'vertical'\n}\n\nexport enum InputType {\n image = 'image',\n text = 'text',\n richText = 'richText',\n password = 'password',\n email = 'email',\n url = 'url',\n tel = 'tel',\n search = 'search',\n number = 'number',\n range = 'range',\n hidden = 'hidden',\n textarea = 'textarea',\n datetime = 'datetime',\n checkbox = 'checkbox',\n radio = 'radio',\n select = 'select',\n file = 'file'\n}\n\nexport enum ContentDirection {\n left = 'left',\n right = 'right',\n up = 'up',\n down = 'down'\n}\n\nexport enum SelectionType {\n dropdown = 'dropdown',\n radio = 'radio',\n checkbox = 'checkbox'\n}\n\nexport enum LoadingSize {\n\tXbig = 'xbig',\n\tBig = 'big',\n\tMedium = 'medium',\n\tSmall = 'small',\n\tXsmall = 'xsmall'\n}\n\nexport enum MenuDirection {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonType, DesignType } from '../../../shared/enums/enum';\nimport { IButtonConfig } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-button',\n standalone: true,\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n imports: [CommonModule]\n})\nexport class ButtonComponent implements OnInit {\n @Input() config!: IButtonConfig;\n\n @Output() clickEvent = new EventEmitter<void>();\n\n constructor() { }\n\n ngOnInit() {\n this.config = {\n isDisabled: false,\n isActive: false,\n designType: DesignType.normal,\n type: ButtonType.submit,\n ...this.config,\n }\n }\n\n onButtonClick() {\n this.clickEvent.emit();\n }\n}\n","<button\n type=\"{{config.type}}\"\n class=\"btn btn-primary\"\n [disabled]=\"config.isDisabled\"\n [ngClass]=\"{'active': config.isActive,\n 'normal': config.designType === 'normal',\n 'contrast': config.designType === 'contrast'}\"\n (click)=\"onButtonClick()\">\n <div class=\"button-content\">\n <ng-container *ngIf=\"config.iconValue\">\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\n </ng-container>\n <span>{{ config.label }}</span>\n </div>\n</button>\n","import { Component, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-datetime-picker',\n standalone: true,\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatetimePickerComponent),\n multi: true\n }],\n imports: [FormsModule]\n})\nexport class DatetimePickerComponent implements ControlValueAccessor {\n selectedDate: string | null = null;\n selectedTime: string | null = null;\n\n public onChange: any = () => {};\n public onTouched: any = () => {};\n\n writeValue(value: any): void {\n if (value) {\n const date = new Date(value);\n this.selectedDate = date.toISOString().split('T')[0]; // Extract the date part (YYYY-MM-DD)\n this.selectedTime = date.toTimeString().split(' ')[0]; // Extract the time part (HH:mm:ss)\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state\n }\n\n onDateChange(event: any) {\n this.selectedDate = event.target.value;\n this.emitChange();\n }\n\n onTimeChange(event: any) {\n this.selectedTime = event.target.value;\n this.emitChange();\n }\n\n private emitChange() {\n if (this.selectedDate && this.selectedTime) {\n const dateTime = `${this.selectedDate}T${this.selectedTime}`;\n this.onChange(new Date(dateTime));\n }\n }\n}\n","<div class=\"datetime-picker-container\">\n <label for=\"date\">Datetime:</label>\n <div class=\"inputs-container\">\n <input id=\"date\" type=\"date\" [(ngModel)]=\"selectedDate\" (ngModelChange)=\"onDateChange($event)\" (blur)=\"onTouched()\">\n <input id=\"time\" type=\"time\" [(ngModel)]=\"selectedTime\" (ngModelChange)=\"onTimeChange($event)\" (blur)=\"onTouched()\">\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonType } from '../../../shared/enums/enum';\nimport { ButtonComponent } from '../button/button.component';\nimport { IButtonConfig } from '../../../shared/interfaces/interface';\n\n@Component({\n selector: 'app-file-selection',\n standalone: true,\n templateUrl: './file-selection.component.html',\n styleUrls: ['./file-selection.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileSelectionComponent),\n multi: true\n }],\n imports: [CommonModule, ButtonComponent]\n})\nexport class FileSelectionComponent implements OnInit, ControlValueAccessor {\n @Input() label!: string; // Label for the file selector\n @Input() chooseFileLabel!: string;\n @Input() imageUrl: string | ArrayBuffer | null = null; // Allow imageUrl to be passed externally\n @Input() fileName: string | null = null; // Allow fileName to be passed externally\n\n config!: IButtonConfig;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n private _value: any = undefined;\n\n get value() {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this.onChange(this._value);\n this.onTouched();\n }\n\n ngOnInit(): void {\n this.config = {\n type: ButtonType.button,\n label: this.chooseFileLabel\n }\n }\n\n onFileSelected(event: Event) {\n const input = event.target as HTMLInputElement;\n\n if (input.files && input.files.length > 0) {\n const file = input.files[0];\n\n // Store the file name to display it in the UI\n this.fileName = file.name;\n this.value = file;\n\n // Generate image preview URL if it's an image\n const reader = new FileReader();\n reader.onload = (e: any) => {\n this.imageUrl = e.target.result; // Set image URL for preview\n };\n reader.readAsDataURL(file);\n }\n }\n\n triggerFileInput() {\n const fileInput = document.getElementById('fileInput') as HTMLInputElement;\n fileInput.click(); // Programmatically click the hidden file input\n }\n\n writeValue(value: any): void {\n this._value = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Implement if you need to handle disabled state\n }\n}\n","<div class=\"file-selector\">\n <label *ngIf=\"label\">{{ label }}</label>\n <input\n id=\"fileInput\"\n type=\"file\"\n (change)=\"onFileSelected($event)\"\n accept=\"image/*\"\n class=\"hidden-file-input\">\n <div class=\"file-selection\">\n <!-- Custom button to trigger file input -->\n <app-button [config]=\"config\"\n class=\"custom-file-button\"\n (clickEvent)=\"triggerFileInput()\">\n Select Image\n </app-button>\n <div *ngIf=\"fileName\" class=\"file-name\">\n {{ fileName }}\n </div>\n </div>\n\n <div *ngIf=\"imageUrl\">\n <img [src]=\"imageUrl\" alt=\"Selected Image\" class=\"preview-image\"/>\n </div>\n</div>\n","import { Component, Input, OnInit, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { InputDirection, InputType } from '../../../shared/enums/enum';\nimport { IInputConfig } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-input',\n standalone: true,\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }],\n imports: [CommonModule, FormsModule]\n})\nexport class InputComponent implements OnInit, ControlValueAccessor {\n @Input() config!: IInputConfig;\n\n private _value: any = '';\n\n get value() {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this.onChange(this._value);\n this.onTouched();\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n constructor() { }\n\n writeValue(value: any): void {\n this._value = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n ngOnInit() {\n this.config = {\n type: InputType.text,\n direction: InputDirection.vertical,\n isValid: true,\n ...this.config,\n };\n }\n}\n","<div class=\"input-item\" [ngClass]=\"config.direction\">\n <label *ngIf=\"config.label\">\n {{ config.label }}\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\n </label>\n\n <div class=\"input-container\">\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\n [type]=\"config.type\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n <textarea *ngIf=\"config.type === 'textarea'\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n </textarea>\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\n </div>\n\n <div *ngIf=\"config.type === 'image'\">\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { LoadingSize } from '../../../shared/enums/enum';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-loading',\n standalone: true,\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss'],\n imports: [CommonModule]\n})\nexport class LoadingComponent implements OnInit {\n @Input() size: LoadingSize = LoadingSize.Medium;\n\n\t@Input() imageSrc: string = '';\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","<div [ngClass]=\"size\" class=\"loading-content\">\n <img [src]=\"imageSrc\" />\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectionType } from '../../../shared/enums/enum';\nimport { IDropdownOption } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-selection',\n templateUrl: './selection.component.html',\n styleUrls: ['./selection.component.scss'],\n standalone: true,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectionComponent),\n multi: true\n }],\n imports: [CommonModule, FormsModule]\n})\nexport class SelectionComponent implements OnInit, ControlValueAccessor {\n @Input() label: string = ''; // Label for the dropdown\n @Input() options: IDropdownOption[] | undefined = []; // Array of options\n @Input() selectedValue: any; // Pre-selected value (single selection)\n @Input() selectedValues: any[] = []; // Pre-selected values (multi-selection)\n @Input() isMultiSelect: boolean = false; // Enable multi-selection for dropdown\n @Input() displayType: SelectionType = SelectionType.dropdown; // Control the display type (dropdown, radio, or checkbox)\n\n @Output() selectedChange: EventEmitter<any> = new EventEmitter<any>(); // Event emitter for value changes\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n get value() {\n return this.selectedValue;\n }\n\n set value(value: any) {\n this.selectedValue = (this.isMultiSelect === false && Array.isArray(value))? value[0] : value;\n\n this.onChange(this.selectedValue);\n this.onTouched();\n }\n\n ngOnInit(): void {\n if (this.options && this.options.length > 0 && !this.isMultiSelect) {\n this.selectedValue = this.options[0].value;\n this.onChange(this.selectedValue);\n }\n }\n\n onSelectChange(event: Event) {\n this.selectedChange.emit(this.selectedValue);\n }\n\n onMultiSelectChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const value = target.value;\n\n if (target.checked) {\n this.selectedValues.push(value);\n } else {\n this.selectedValues = this.selectedValues.filter(v => v !== value);\n }\n\n this.selectedChange.emit(this.selectedValues);\n }\n\n isSelected(value: any): boolean {\n return this.isMultiSelect ? this.selectedValues.includes(value) : value === this.selectedValue;\n }\n\n writeValue(value: any): void {\n this.selectedValue = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Implement if you need to handle disabled state\n }\n}\n","<div class=\"dropdown\" *ngIf=\"displayType === 'dropdown'\">\n <label *ngIf=\"label\">{{ label }}</label>\n <select\n (change)=\"onSelectChange($event)\"\n [multiple]=\"isMultiSelect\"\n [(ngModel)]=\"value\">\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\"\n [selected]=\"isSelected(option.value)\">\n {{ option.label }}\n </option>\n </select>\n</div>\n\n<div class=\"radio-group\" *ngIf=\"displayType === 'radio'\">\n <label *ngIf=\"label\">{{ label }}</label>\n <div *ngFor=\"let option of options\">\n <input\n type=\"radio\"\n [value]=\"option.value\"\n [checked]=\"option.value === selectedValue\"\n (change)=\"onSelectChange($event)\"\n name=\"radioGroup\"/>\n <label>{{ option.label }}</label>\n </div>\n</div>\n\n<div class=\"checkbox-group\" *ngIf=\"displayType === 'checkbox'\">\n <label *ngIf=\"label\">{{ label }}</label>\n <div *ngFor=\"let option of options\">\n <input\n type=\"checkbox\"\n [value]=\"option.value\"\n [checked]=\"isSelected(option.value)\"\n (change)=\"onMultiSelectChange($event)\"/>\n <label>{{ option.label }}</label>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-slider',\n standalone: true,\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n imports: [CommonModule]\n})\nexport class SliderComponent implements OnInit {\n @Input() images: string[] = [];\n @Input() autoSlide: boolean = false;\n @Input() slideInterval: number = 3000; // Time interval for auto slide\n\n currentIndex: number = 0;\n\n ngOnInit(): void {\n if (this.autoSlide) {\n this.startAutoSlide();\n }\n }\n\n startAutoSlide(): void {\n setInterval(() => {\n this.nextSlide();\n }, this.slideInterval);\n }\n\n prevSlide(): void {\n this.currentIndex = this.currentIndex === 0 ? this.images.length - 1 : this.currentIndex - 1;\n }\n\n nextSlide(): void {\n this.currentIndex = this.currentIndex === this.images.length - 1 ? 0 : this.currentIndex + 1;\n }\n}\n","<div class=\"slider-container\">\n <div class=\"slider-wrapper\">\n <div\n class=\"slide\"\n *ngFor=\"let image of images; let i = index\"\n [class.active]=\"i === currentIndex\"\n [ngStyle]=\"{'background-image': 'url(' + image + ')'}\">\n </div>\n </div>\n\n <!-- Navigation Buttons -->\n <button class=\"prev\" (click)=\"prevSlide()\">&#10094;</button>\n <button class=\"next\" (click)=\"nextSlide()\">&#10095;</button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-tags',\n standalone: true,\n templateUrl: './tags.component.html',\n styleUrls: ['./tags.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TagsComponent),\n multi: true\n }],\n imports: [CommonModule, FormsModule]\n})\nexport class TagsComponent implements ControlValueAccessor {\n @Input() availableTags: string[] = ['abc', 'dce'];\n filteredTags: string[] = [];\n selectedTags: string[] = [];\n searchText: string = '';\n\n private onChange: any = () => {};\n private onTouched: any = () => {};\n\n ngOnInit() {\n this.filteredTags = this.availableTags; // Initialize the filtered tags list\n }\n\n writeValue(value: string[]): void {\n if (value) {\n this.selectedTags = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onTagSelectionChange(tag: string) {\n if (!this.selectedTags.includes(tag)) {\n this.selectedTags = [...this.selectedTags, tag]; // Add the tag\n this.onChange(this.selectedTags);\n }\n }\n\n removeTag(tag: string) {\n this.selectedTags = this.selectedTags.filter(t => t !== tag); // Remove the tag\n this.onChange(this.selectedTags);\n }\n\n filterTags() {\n this.filteredTags = this.availableTags.filter(tag =>\n tag.toLowerCase().includes(this.searchText.toLowerCase()) &&\n !this.selectedTags.includes(tag)\n );\n }\n}\n","<div class=\"tags-select-container\">\n <label for=\"searchTags\">Search and Select Tags:</label>\n <input\n id=\"searchTags\"\n type=\"text\"\n [(ngModel)]=\"searchText\"\n (input)=\"filterTags()\"\n placeholder=\"Search tags...\"\n />\n\n <div *ngIf=\"filteredTags.length > 0\">\n <ul class=\"tag-list\">\n <li *ngFor=\"let tag of filteredTags\" (click)=\"onTagSelectionChange(tag)\">\n {{ tag }}\n </li>\n </ul>\n </div>\n\n <div class=\"selected-tags\">\n <button *ngFor=\"let tag of selectedTags\" class=\"tag-button\">\n {{ tag }}\n <span class=\"remove-tag\" (click)=\"removeTag(tag)\">x</span>\n </button>\n </div>\n</div>\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","import { Component, Input, OnInit } from '@angular/core';\nimport { IContentDesign } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\nimport { ContentDesignComponent } from '../content-design/content-design.component';\n\n@Component({\n selector: 'app-cards',\n standalone: true,\n templateUrl: './cards.component.html',\n styleUrls: ['./cards.component.scss'],\n imports: [CommonModule, ContentDesignComponent]\n})\nexport class CardsComponent implements OnInit {\n @Input() cardContents: IContentDesign[] = [];\n constructor() { }\n\n ngOnInit() {\n }\n}\n","<div class=\"cards-content\">\n <ng-container *ngFor=\"let content of cardContents\">\n <div class=\"card {{content.name}}\">\n <app-content-design\n [content] = \"content\">\n </app-content-design>\n </div>\n </ng-container>\n</div>\n\n\n\n","import { InputType } from \"../enums/enum\";\n\nexport const textualInputTypes: InputType[] =\n [InputType.text, InputType.password, InputType.email, InputType.url,\n InputType.tel, InputType.search, InputType.number, InputType.range,\n InputType.hidden, InputType.textarea, InputType.richText, InputType.image];\nexport const selectionInputTypes: InputType[] = [InputType.checkbox, InputType.radio, InputType.select]\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputGroupType, InputType } from '../../../shared/enums/enum';\nimport { selectionInputTypes, textualInputTypes } from '../../../shared/constants/constant';\nimport { CommonModule } from '@angular/common';\nimport { SelectionComponent } from '../../atoms/selection/selection.component';\nimport { FileSelectionComponent } from '../../atoms/file-selection/file-selection.component';\nimport { IButtonConfig, IInputConfig } from '../../../shared/interfaces/interface';\nimport { InputComponent } from '../../atoms/input/input.component';\nimport { ButtonComponent } from '../../atoms/button/button.component';\n\n\n@Component({\n selector: 'app-form',\n standalone: true,\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n imports: [CommonModule, InputComponent, SelectionComponent,\n FileSelectionComponent, ButtonComponent, FormsModule, ReactiveFormsModule]\n})\nexport class FormComponent {\n @Input() formGroup!: FormGroup;\n @Input() inputConfigs!: Array<IInputConfig>;\n @Input() buttonConfig: IButtonConfig = {\n label: \"Submit\"\n }\n @Input() validationMessages!: { [key: string]: string };\n\n @Output() formSubmit = new EventEmitter<any>();\n @Output() formChange = new EventEmitter<{ controlName: string; value: any }>();\n\n // Define the editor configuration\n\n onSubmit() {\n if (this.formGroup.valid) {\n this.formSubmit.emit(this.formGroup.value);\n }\n else {\n console.log('Form not valid');\n }\n }\n\n onValueChange(controlName: string, value: any) {\n this.formChange.emit({ controlName, value });\n }\n\n checkFormConfigType(inputType: InputType | undefined): InputGroupType {\n if(inputType) {\n if(textualInputTypes.includes(inputType)) {\n return InputGroupType.textual;\n }\n if(selectionInputTypes.includes(inputType)) {\n return InputGroupType.selection;\n }\n if(inputType === InputType.file) {\n return InputGroupType.file;\n }\n if(inputType === InputType.datetime) {\n return InputGroupType.datetime;\n }\n }\n return InputGroupType.textual;\n }\n}\n","<form (ngSubmit)=\"onSubmit()\" #form=\"ngForm\" [formGroup]=\"formGroup\">\n <ng-container *ngFor=\"let inputConfig of inputConfigs\">\n <app-input *ngIf=\"checkFormConfigType(inputConfig.type) === 'textual'\"\n [formControlName]=\"inputConfig.name\"\n [config]=\"inputConfig\"\n [required]=\"inputConfig.required\"></app-input>\n\n <app-selection *ngIf=\"checkFormConfigType(inputConfig.type) === 'selection'\"\n [formControlName]=\"inputConfig.name\"\n [label]=\"inputConfig.label?? ''\"\n [options]= \"inputConfig.options\">\n </app-selection>\n\n <app-file-selection\n [formControlName]=\"inputConfig.name\"\n *ngIf=\"checkFormConfigType(inputConfig.type) === 'file'\"\n [label]=\"inputConfig.name \">\n </app-file-selection>\n </ng-container>\n\n <app-button [config]=\"buttonConfig\"></app-button>\n</form>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IButtonConfig, IModalEvent } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atoms/button/button.component';\n\n@Component({\n selector: 'app-modal',\n standalone: true,\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n imports: [CommonModule, ButtonComponent]\n})\nexport class ModalComponent implements OnInit {\n @Input() modalEvent!: IModalEvent;\n okConfig: IButtonConfig = {\n label: \"Ok\"\n }\n cancelConfig: IButtonConfig = {\n label: \"Cancel\"\n }\n constructor() { }\n\n ngOnInit() {\n }\n\n closeModal() {\n this.modalEvent.isModalVisible = false;\n }\n\n handleOverlayClick(event: MouseEvent) {\n this.closeModal();\n }\n\n handleContentClick(event: MouseEvent) {\n event.stopPropagation();\n }\n\n ok() {\n if (this.modalEvent && this.modalEvent.onOk) {\n this.modalEvent.onOk();\n this.closeModal();\n }\n }\n\n cancel() {\n this.closeModal();\n }\n}\n","<div class=\"modal-overlay\" (click)=\"handleOverlayClick($event)\" *ngIf=\"modalEvent?.isModalVisible\">\n <div class=\"modal-content\" (click)=\"handleContentClick($event)\">\n <div class=\"modal-header\">\n <h2>{{modalEvent.title }}</h2>\n <button class=\"close-btn\" (click)=\"closeModal()\">\n <i class=\"material-icons\">close</i>\n </button>\n </div>\n <div *ngIf=\"modalEvent.params && modalEvent.params['content']\">{{modalEvent.params['content'] }}</div>\n <ng-container *ngTemplateOutlet=\"modalEvent.template; context: modalEvent.params\"></ng-container>\n <div *ngIf=\"!modalEvent?.isDialog\" class=\"buttons\">\n <app-button [config]=\"okConfig\" (clickEvent)=\"ok()\"></app-button>\n <app-button [config]=\"cancelConfig\" (clickEvent)=\"cancel()\"></app-button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IButtonConfig, IDropdownOption, IInputConfig, IPaginator } from '../../../shared/interfaces/interface';\nimport { ButtonType, InputDirection } from '../../../shared/enums/enum';\nimport { SelectionComponent } from '../../atoms/selection/selection.component';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { InputComponent } from '../../atoms/input/input.component';\n\n@Component({\n selector: 'app-paginator',\n standalone: true,\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n imports: [CommonModule, ButtonComponent, SelectionComponent, InputComponent]\n})\nexport class PaginatorComponent implements OnInit {\n itemsPerPageList: IDropdownOption[] = [];\n inputConfig: IInputConfig = {\n label: 'Go to page',\n direction: InputDirection.horizontal,\n name: 'inputConfig',\n required: false\n }\n previousButtonConfig: IButtonConfig = {\n iconValue: 'chevron_left',\n type: ButtonType.button,\n isDisabled: true\n }\n nextButtonConfig: IButtonConfig = {\n iconValue: 'chevron_right',\n type: ButtonType.button,\n isDisabled: false\n }\n numberOfPage: number = 0;\n itemsPerPage: number = 0;\n selectedPage: number = 0;\n buttonType!: ButtonType;\n inputDirection!: InputDirection;\n\n @Input() totalRecords: number = 0;\n\n @Output() paginator = new EventEmitter<IPaginator>();\n\n constructor() {}\n\n get pageNumbers(): number[] {\n return Array.from({ length: this.numberOfPage }, (_, i) => i + 1);\n }\n\n ngOnInit() {\n this.itemsPerPageList = [\n {\n label: \"3\",\n value: 1\n },\n {\n label: \"5\",\n value: 2\n },\n {\n label: \"20\",\n value: 3\n }\n ];\n this.selectedPage = 1;\n this.buttonType = ButtonType.button;\n this.inputDirection = InputDirection.horizontal;\n this.itemsPerPage = parseInt(this.itemsPerPageList[0].label);\n this.calculateNumberOfPage(this.totalRecords, this.itemsPerPage);\n this.updateButtonConfigs();\n this.emitPaging();\n }\n\n ngOnChanges(): void {\n this.calculateNumberOfPage(this.totalRecords, this.itemsPerPage);\n }\n\n selectPage(i: number) {\n this.selectedPage = i;\n this.updateButtonConfigs();\n this.emitPaging();\n }\n\n onChangeNumberOfPage(itemsPerPageId: string) {\n this.selectedPage = 1;\n this.itemsPerPage = parseInt(this.itemsPerPageList.find(i=> i.value === parseInt(itemsPerPageId))?.label??\n this.itemsPerPage.toString());\n\n this.calculateNumberOfPage(this.totalRecords, this.itemsPerPage);\n this.updateButtonConfigs();\n this.emitPaging();\n }\n\n private emitPaging() {\n let paging: IPaginator = {\n itemsPerPage: this.itemsPerPage,\n selectedPage: this.selectedPage\n }\n this.paginator.emit(paging);\n }\n\n private calculateNumberOfPage (totalRecords: number, itemsPerPage: number): number {\n return this.numberOfPage = Math.ceil(totalRecords/itemsPerPage);\n }\n\n private updateButtonConfigs() {\n // Re-assign the button configuration to trigger change detection\n this.previousButtonConfig = {\n ...this.previousButtonConfig,\n isDisabled: this.selectedPage <= 1\n };\n this.nextButtonConfig = {\n ...this.nextButtonConfig,\n isDisabled: this.selectedPage >= this.numberOfPage\n };\n }\n\n // Method to return config for page number buttons\n getPageButtonConfig(page: number): IButtonConfig {\n return {\n label: page.toString(),\n type: ButtonType.button,\n isActive: page === this.selectedPage, // Set active state based on selectedPage\n isDisabled: false // Page buttons are never disabled\n };\n }\n}\n","<div class=\"table-footer\">\n <div class=\"number-of-page\">\n <app-selection [options] = \"itemsPerPageList\"\n [selectedValue]=\"this.itemsPerPage\"\n (selectedChange) = \"onChangeNumberOfPage($event)\">\n </app-selection>\n <app-input [config]=\"inputConfig\"></app-input>\n </div>\n <div class=\"paginator\">\n <app-button (clickEvent)=\"selectPage(selectedPage - 1)\"\n [config]=\"previousButtonConfig\"/>\n\n <!-- Page Numbers -->\n <ng-container *ngFor=\"let page of pageNumbers\">\n <app-button\n (clickEvent)=\"selectPage(page)\"\n [config]=\"getPageButtonConfig(page)\">\n </app-button>\n </ng-container>\n\n <!-- Next Button -->\n <app-button (clickEvent)=\"selectPage(selectedPage + 1)\"\n [config]=\"nextButtonConfig\"/>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { IDataColumnConfig, IPaginator } from '../../../shared/interfaces/interface';\nimport { CommonModule } from '@angular/common';\nimport { TableModule} from 'primeng/table';\nimport { LoadingComponent } from '../../atoms/loading/loading.component';\nimport { PaginatorComponent } from '../paginator/paginator.component';\n\n@Component({\n selector: 'app-table',\n standalone: true,\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n imports: [CommonModule, TableModule, LoadingComponent, PaginatorComponent]\n})\nexport class TableComponent<T> implements OnInit {\n @Input() items: T[] = [];\n @Input() columns: IDataColumnConfig[] = [];\n @Input() totalRecords: number = 0;\n @Input() tableName: string = '';\n @Input() loadingState!: Observable<boolean>;\n\n @Output() paginator = new EventEmitter<IPaginator>()\n\n @ContentChild('bodyTemplate') bodyTemplate!: TemplateRef<any>;\n\n allSelected = false;\n\n constructor(private cdRef: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.loadingState.subscribe(() => {\n this.cdRef.detectChanges(); // Explicitly mark for change detection\n });\n }\n\n changePaginator(paging: IPaginator) {\n this.paginator.emit(paging);\n }\n}\n","<div class=\"container-xl table-wrapper\">\n <div class=\"table-title\">\n <h2><b>{{tableName }}</b></h2>\n </div>\n <div class=\"loading-wrapper\">\n <ng-container *ngIf=\"!(loadingState | async); else loading; then table\">\n </ng-container>\n </div>\n <app-paginator [totalRecords] = \"totalRecords\" (paginator)=\"changePaginator($event)\"></app-paginator>\n</div>\n\n<ng-template #loading>\n <div class=\"loading-wrapper\">\n <app-loading></app-loading>\n </div>\n</ng-template>\n\n<ng-template #table>\n <ng-container *ngIf=\"totalRecords == 0; then emptyContent; else tableContent\">\n </ng-container>\n</ng-template>\n\n<ng-template #tableContent>\n <p-table [value]=\"items\" class=\"table table-striped table-hover\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>\n <ng-content select=\"[selectAllCheckbox]\"></ng-content>\n </th>\n <ng-container *ngFor=\" let col of columns\">\n <th>{{col.name }}</th>\n </ng-container>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-item>\n <ng-container [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{item:item}\"></ng-container>\n </ng-template>\n </p-table>\n</ng-template>\n\n<ng-template #emptyContent>\n <div class=\"no-record-message\">\n <div>No records</div>\n </div>\n</ng-template>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n standalone: true,\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<footer class=\"footer\">\n <div class=\"footer-container\">\n <div class=\"footer-section\">\n <h3>About Us</h3>\n <p>We are a company dedicated to providing excellent services and products to our customers.</p>\n </div>\n\n <div class=\"footer-section\">\n <h3>Quick Links</h3>\n <ul>\n <li><a href=\"#\">Home</a></li>\n <li><a href=\"#\">Services</a></li>\n <li><a href=\"#\">Contact</a></li>\n <li><a href=\"#\">Privacy Policy</a></li>\n </ul>\n </div>\n\n <div class=\"footer-section\">\n <h3>Follow Us</h3>\n <div class=\"social-icons\">\n <a href=\"#\" aria-label=\"Facebook\"><i class=\"fab fa-facebook-f\"></i></a>\n <a href=\"#\" aria-label=\"Twitter\"><i class=\"fab fa-twitter\"></i></a>\n <a href=\"#\" aria-label=\"Instagram\"><i class=\"fab fa-instagram\"></i></a>\n <a href=\"#\" aria-label=\"LinkedIn\"><i class=\"fab fa-linkedin-in\"></i></a>\n </div>\n </div>\n </div>\n\n <div class=\"footer-bottom\">\n <p>&copy; 2024 Your Company. All Rights Reserved.</p>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'app-login',\n standalone: true,\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n imports: [CommonModule]\n})\nexport class LoginComponent implements OnInit {\n // Input property to accept a TemplateRef from the parent component\n @Input() buttonTemplate!: TemplateRef<any>;\n @ViewChild('buttonContainer', { read: ViewContainerRef }) buttonContainer!: ViewContainerRef;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n // After the view initializes, we render the button\n ngAfterViewInit(): void {\n // Clear any existing content in the container\n this.buttonContainer.clear();\n\n // Render the provided button template inside the container\n if (this.buttonTemplate) {\n this.buttonContainer.createEmbeddedView(this.buttonTemplate);\n }\n }\n}\n","<div class=\"login-page\">\n <div class=\"icon-area\">\n <div class=\"icon\">\n <span>innocons</span>\n </div>\n </div>\n <div class=\"login-button\" id=\"buttonDiv\">\n <ng-template #buttonContainer></ng-template>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IMenuItem } from '../../../shared/interfaces/interface';\nimport { MenuDirection } from '../../../shared/enums/enum';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-menu',\n standalone: true,\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n imports: [CommonModule]\n})\nexport class MenuComponent implements OnInit {\n @Input() menuItems: IMenuItem[] = [];\n @Input() logoUrl: string = \"\";\n @Input() direction: MenuDirection = MenuDirection.horizontal;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n get isVertical(): boolean {\n return this.direction === MenuDirection.vertical;\n }\n}\n","<nav class=\"menu\" [ngClass]=\"{'vertical': isVertical, 'horizontal': !isVertical}\">\n <div class=\"logo\">\n <img src=\"{{logoUrl}}\" alt=\"Logo\" />\n </div>\n <ul>\n <li *ngFor=\"let item of menuItems\">\n <a [href]=\"item.route\">{{ item.label }}</a>\n </li>\n </ul>\n <div class=\"actions\">\n <div class=\"language\">\n <span class=\"material-icons\" aria-hidden=\"true\">language</span>\n </div>\n <div class=\"login\">\n <span class=\"material-icons\" aria-hidden=\"true\">person</span>\n </div>\n </div>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { IContentDesign } from '../../../shared/interfaces/interface';\nimport { ContentDirection } from '../../../shared/enums/enum';\nimport { ContentDesignComponent } from '../../molecules/content-design/content-design.component';\n\n@Component({\n selector: 'app-version',\n standalone: true,\n templateUrl: './version.component.html',\n styleUrls: ['./version.component.scss'],\n imports: [CommonModule, ContentDesignComponent]\n})\nexport class VersionComponent implements OnInit {\n content: IContentDesign;\n constructor() {\n this.content = {\n title: 'Card 2 Title',\n content: 'This is an example of left-aligned content.',\n coverImage: 'https://via.placeholder.com/150',\n contentDirection: ContentDirection.right,\n template: null\n }\n }\n\n ngOnInit() {\n }\n}\n","<app-content-design\n[content] = \"content\">\n</app-content-design>\n","/*\n * Public API Surface of angular-dumb-lib\n */\n\nexport * from './lib/angular-dumb-lib.service';\nexport * from './lib/angular-dumb-lib.component';\nexport * from './lib/angular-dumb-lib.module';\n\nexport * from './lib/components/atoms/button/button.component';\nexport * from './lib/components/atoms/datetime-picker/datetime-picker.component';\nexport * from './lib/components/atoms/file-selection/file-selection.component';\nexport * from './lib/components/atoms/input/input.component';\nexport * from './lib/components/atoms/loading/loading.component';\nexport * from './lib/components/atoms/selection/selection.component';\nexport * from './lib/components/atoms/slider/slider.component';\nexport * from './lib/components/atoms/tags/tags.component';\n\nexport * from './lib/components/molecules/cards/cards.component';\nexport * from './lib/components/molecules/content-design/content-design.component';\nexport * from './lib/components/molecules/form/form.component';\nexport * from './lib/components/molecules/modal/modal.component';\nexport * from './lib/components/molecules/paginator/paginator.component';\nexport * from './lib/components/molecules/table/table.component';\n\nexport * from './lib/components/pages/footer/footer.component';\nexport * from './lib/components/pages/login/login.component';\nexport * from './lib/components/pages/menu/menu.component';\nexport * from './lib/components/pages/version/version.component';\n\n//Export enums and interfaces\nexport * from './lib/shared/interfaces/interface';\nexport * from './lib/shared/enums/enum'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./angular-dumb-lib.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
3
  export declare class AngularDumbLibModule {
6
4
  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]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularDumbLibModule, [typeof i1.AngularDumbLibComponent], never, [typeof i1.AngularDumbLibComponent]>;
8
6
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularDumbLibModule>;
9
7
  }
@@ -0,0 +1,17 @@
1
+ import { ControlValueAccessor } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DatetimePickerComponent implements ControlValueAccessor {
4
+ selectedDate: string | null;
5
+ selectedTime: string | null;
6
+ onChange: any;
7
+ onTouched: any;
8
+ writeValue(value: any): void;
9
+ registerOnChange(fn: any): void;
10
+ registerOnTouched(fn: any): void;
11
+ setDisabledState?(isDisabled: boolean): void;
12
+ onDateChange(event: any): void;
13
+ onTimeChange(event: any): void;
14
+ private emitChange;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatetimePickerComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatetimePickerComponent, "app-datetime-picker", never, {}, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,25 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { IButtonConfig } from '../../../shared/interfaces/interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class FileSelectionComponent implements OnInit, ControlValueAccessor {
6
+ label: string;
7
+ chooseFileLabel: string;
8
+ imageUrl: string | ArrayBuffer | null;
9
+ fileName: string | null;
10
+ config: IButtonConfig;
11
+ onChange: any;
12
+ onTouched: any;
13
+ private _value;
14
+ get value(): any;
15
+ set value(value: any);
16
+ ngOnInit(): void;
17
+ onFileSelected(event: Event): void;
18
+ triggerFileInput(): void;
19
+ writeValue(value: any): void;
20
+ registerOnChange(fn: any): void;
21
+ registerOnTouched(fn: any): void;
22
+ setDisabledState?(isDisabled: boolean): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileSelectionComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileSelectionComponent, "app-file-selection", never, { "label": { "alias": "label"; "required": false; }; "chooseFileLabel": { "alias": "chooseFileLabel"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; }, {}, never, never, true, never>;
25
+ }
@@ -0,0 +1,11 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { LoadingSize } from '../../../shared/enums/enum';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LoadingComponent implements OnInit {
5
+ size: LoadingSize;
6
+ imageSrc: string;
7
+ constructor();
8
+ ngOnInit(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoadingComponent, "app-loading", never, { "size": { "alias": "size"; "required": false; }; "imageSrc": { "alias": "imageSrc"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,28 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { SelectionType } from '../../../shared/enums/enum';
4
+ import { IDropdownOption } from '../../../shared/interfaces/interface';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SelectionComponent implements OnInit, ControlValueAccessor {
7
+ label: string;
8
+ options: IDropdownOption[] | undefined;
9
+ selectedValue: any;
10
+ selectedValues: any[];
11
+ isMultiSelect: boolean;
12
+ displayType: SelectionType;
13
+ selectedChange: EventEmitter<any>;
14
+ onChange: any;
15
+ onTouched: any;
16
+ get value(): any;
17
+ set value(value: any);
18
+ ngOnInit(): void;
19
+ onSelectChange(event: Event): void;
20
+ onMultiSelectChange(event: Event): void;
21
+ isSelected(value: any): boolean;
22
+ writeValue(value: any): void;
23
+ registerOnChange(fn: any): void;
24
+ registerOnTouched(fn: any): void;
25
+ setDisabledState?(isDisabled: boolean): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectionComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectionComponent, "app-selection", never, { "label": { "alias": "label"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "selectedValues": { "alias": "selectedValues"; "required": false; }; "isMultiSelect": { "alias": "isMultiSelect"; "required": false; }; "displayType": { "alias": "displayType"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, never>;
28
+ }
@@ -0,0 +1,14 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SliderComponent implements OnInit {
4
+ images: string[];
5
+ autoSlide: boolean;
6
+ slideInterval: number;
7
+ currentIndex: number;
8
+ ngOnInit(): void;
9
+ startAutoSlide(): void;
10
+ prevSlide(): void;
11
+ nextSlide(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "app-slider", never, { "images": { "alias": "images"; "required": false; }; "autoSlide": { "alias": "autoSlide"; "required": false; }; "slideInterval": { "alias": "slideInterval"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,19 @@
1
+ import { ControlValueAccessor } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TagsComponent implements ControlValueAccessor {
4
+ availableTags: string[];
5
+ filteredTags: string[];
6
+ selectedTags: string[];
7
+ searchText: string;
8
+ private onChange;
9
+ private onTouched;
10
+ ngOnInit(): void;
11
+ writeValue(value: string[]): void;
12
+ registerOnChange(fn: any): void;
13
+ registerOnTouched(fn: any): void;
14
+ onTagSelectionChange(tag: string): void;
15
+ removeTag(tag: string): void;
16
+ filterTags(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagsComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagsComponent, "app-tags", never, { "availableTags": { "alias": "availableTags"; "required": false; }; }, {}, never, never, true, never>;
19
+ }
@@ -0,0 +1,10 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { IContentDesign } from '../../../shared/interfaces/interface';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CardsComponent implements OnInit {
5
+ cardContents: IContentDesign[];
6
+ constructor();
7
+ ngOnInit(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CardsComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<CardsComponent, "app-cards", never, { "cardContents": { "alias": "cardContents"; "required": false; }; }, {}, never, never, true, never>;
10
+ }
@@ -0,0 +1,23 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { InputGroupType, InputType } from '../../../shared/enums/enum';
4
+ import { IButtonConfig, IInputConfig } from '../../../shared/interfaces/interface';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FormComponent {
7
+ formGroup: FormGroup;
8
+ inputConfigs: Array<IInputConfig>;
9
+ buttonConfig: IButtonConfig;
10
+ validationMessages: {
11
+ [key: string]: string;
12
+ };
13
+ formSubmit: EventEmitter<any>;
14
+ formChange: EventEmitter<{
15
+ controlName: string;
16
+ value: any;
17
+ }>;
18
+ onSubmit(): void;
19
+ onValueChange(controlName: string, value: any): void;
20
+ checkFormConfigType(inputType: InputType | undefined): InputGroupType;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "app-form", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "inputConfigs": { "alias": "inputConfigs"; "required": false; }; "buttonConfig": { "alias": "buttonConfig"; "required": false; }; "validationMessages": { "alias": "validationMessages"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; }, never, never, true, never>;
23
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { IButtonConfig, IModalEvent } from '../../../shared/interfaces/interface';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ModalComponent implements OnInit {
5
+ modalEvent: IModalEvent;
6
+ okConfig: IButtonConfig;
7
+ cancelConfig: IButtonConfig;
8
+ constructor();
9
+ ngOnInit(): void;
10
+ closeModal(): void;
11
+ handleOverlayClick(event: MouseEvent): void;
12
+ handleContentClick(event: MouseEvent): void;
13
+ ok(): void;
14
+ cancel(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "app-modal", never, { "modalEvent": { "alias": "modalEvent"; "required": false; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,29 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { IButtonConfig, IDropdownOption, IInputConfig, IPaginator } from '../../../shared/interfaces/interface';
3
+ import { ButtonType, InputDirection } from '../../../shared/enums/enum';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PaginatorComponent implements OnInit {
6
+ itemsPerPageList: IDropdownOption[];
7
+ inputConfig: IInputConfig;
8
+ previousButtonConfig: IButtonConfig;
9
+ nextButtonConfig: IButtonConfig;
10
+ numberOfPage: number;
11
+ itemsPerPage: number;
12
+ selectedPage: number;
13
+ buttonType: ButtonType;
14
+ inputDirection: InputDirection;
15
+ totalRecords: number;
16
+ paginator: EventEmitter<IPaginator>;
17
+ constructor();
18
+ get pageNumbers(): number[];
19
+ ngOnInit(): void;
20
+ ngOnChanges(): void;
21
+ selectPage(i: number): void;
22
+ onChangeNumberOfPage(itemsPerPageId: string): void;
23
+ private emitPaging;
24
+ private calculateNumberOfPage;
25
+ private updateButtonConfigs;
26
+ getPageButtonConfig(page: number): IButtonConfig;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "app-paginator", never, { "totalRecords": { "alias": "totalRecords"; "required": false; }; }, { "paginator": "paginator"; }, never, never, true, never>;
29
+ }
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { IDataColumnConfig, IPaginator } from '../../../shared/interfaces/interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TableComponent<T> implements OnInit {
6
+ private cdRef;
7
+ items: T[];
8
+ columns: IDataColumnConfig[];
9
+ totalRecords: number;
10
+ tableName: string;
11
+ loadingState: Observable<boolean>;
12
+ paginator: EventEmitter<IPaginator>;
13
+ bodyTemplate: TemplateRef<any>;
14
+ allSelected: boolean;
15
+ constructor(cdRef: ChangeDetectorRef);
16
+ ngOnInit(): void;
17
+ changePaginator(paging: IPaginator): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any>, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "app-table", never, { "items": { "alias": "items"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "loadingState": { "alias": "loadingState"; "required": false; }; }, { "paginator": "paginator"; }, ["bodyTemplate"], ["[selectAllCheckbox]"], true, never>;
20
+ }
@@ -0,0 +1,8 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FooterComponent implements OnInit {
4
+ constructor();
5
+ ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<FooterComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "app-footer", never, {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,11 @@
1
+ import { OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LoginComponent implements OnInit {
4
+ buttonTemplate: TemplateRef<any>;
5
+ buttonContainer: ViewContainerRef;
6
+ constructor();
7
+ ngOnInit(): void;
8
+ ngAfterViewInit(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "app-login", never, { "buttonTemplate": { "alias": "buttonTemplate"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,14 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { IMenuItem } from '../../../shared/interfaces/interface';
3
+ import { MenuDirection } from '../../../shared/enums/enum';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MenuComponent implements OnInit {
6
+ menuItems: IMenuItem[];
7
+ logoUrl: string;
8
+ direction: MenuDirection;
9
+ constructor();
10
+ ngOnInit(): void;
11
+ get isVertical(): boolean;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "app-menu", never, { "menuItems": { "alias": "menuItems"; "required": false; }; "logoUrl": { "alias": "logoUrl"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,10 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { IContentDesign } from '../../../shared/interfaces/interface';
3
+ import * as i0 from "@angular/core";
4
+ export declare class VersionComponent implements OnInit {
5
+ content: IContentDesign;
6
+ constructor();
7
+ ngOnInit(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<VersionComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<VersionComponent, "app-version", never, {}, {}, never, never, true, never>;
10
+ }
@@ -0,0 +1,3 @@
1
+ import { InputType } from "../enums/enum";
2
+ export declare const textualInputTypes: InputType[];
3
+ export declare const selectionInputTypes: InputType[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-dumb-lib",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.0.0",
6
6
  "@angular/core": "^16.0.0"
package/public-api.d.ts CHANGED
@@ -2,5 +2,22 @@ export * from './lib/angular-dumb-lib.service';
2
2
  export * from './lib/angular-dumb-lib.component';
3
3
  export * from './lib/angular-dumb-lib.module';
4
4
  export * from './lib/components/atoms/button/button.component';
5
+ export * from './lib/components/atoms/datetime-picker/datetime-picker.component';
6
+ export * from './lib/components/atoms/file-selection/file-selection.component';
5
7
  export * from './lib/components/atoms/input/input.component';
8
+ export * from './lib/components/atoms/loading/loading.component';
9
+ export * from './lib/components/atoms/selection/selection.component';
10
+ export * from './lib/components/atoms/slider/slider.component';
11
+ export * from './lib/components/atoms/tags/tags.component';
12
+ export * from './lib/components/molecules/cards/cards.component';
6
13
  export * from './lib/components/molecules/content-design/content-design.component';
14
+ export * from './lib/components/molecules/form/form.component';
15
+ export * from './lib/components/molecules/modal/modal.component';
16
+ export * from './lib/components/molecules/paginator/paginator.component';
17
+ export * from './lib/components/molecules/table/table.component';
18
+ export * from './lib/components/pages/footer/footer.component';
19
+ export * from './lib/components/pages/login/login.component';
20
+ export * from './lib/components/pages/menu/menu.component';
21
+ export * from './lib/components/pages/version/version.component';
22
+ export * from './lib/shared/interfaces/interface';
23
+ export * from './lib/shared/enums/enum';