ghocomps 1.1.25 → 1.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ghocomps.mjs","sources":["../../../projects/ghocomps/src/lib/dropdown.ts","../../../projects/ghocomps/src/lib/input.ts","../../../projects/ghocomps/src/lib/date.ts","../../../projects/ghocomps/src/public-api.ts","../../../projects/ghocomps/src/ghocomps.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Input,\r\n NgZone, Output, SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'gho-dropdown',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule],\r\n template: `\r\n<div style=\"height: 55px !important;\">\r\n <div style=\"height: 18px !important;\">\r\n @if(datavalid())\r\n {\r\n <div [ngStyle]=\"{ margin: '-3px 5px' }\" class=\"input-label\">{{label}}\r\n </div>\r\n }\r\n </div>\r\n <table>\r\n <tr>\r\n <td>\r\n <div (click)=\"toggleDropdown()\" [ngClass]=\"getclass()\">\r\n <span>{{selectedtxt}}</span>\r\n <i class=\"bi bi-caret-down-fill arrow-icon\" [class.rotate]=\"isOpen\"></i>\r\n </div>\r\n </td>\r\n @if(filter && datavalid() )\r\n {\r\n <td>\r\n <div (click)=\"clear()\" [ngClass]=\"getclearclass()\">\r\n <i class=\"bi bi-x-lg \"></i>\r\n </div>\r\n </td> } \r\n </tr>\r\n </table>\r\n</div>\r\n@if(isOpen){\r\n<div class=\"dropdown-menu show \">\r\n <div class=\"list-panel\">\r\n @for (dlitem of listdata; track dlitem) {\r\n <div class=\"list-item \" (click)=\"onSelectionChange(dlitem)\" [class.list-item-selected]=\"dlitem.value == sharedValue\">\r\n <table class=\"w100\">\r\n <tr>\r\n <td>\r\n {{ dlitem.label }}\r\n </td>\r\n @if(dlitem.value == sharedValue){\r\n <td class=\"right\" style=\"width:30px;\"> <i class=\"bi bi-check2\"></i> </td>}\r\n </tr>\r\n </table>\r\n </div>\r\n }\r\n </div>\r\n <table class=w100>\r\n <tr class=\"bt \">\r\n <td class=\"p10\" (click)=\"clear()\"><span matButton class=\"ghoddl-btn \"> Clear </span> </td>\r\n <td class=\"p10\" (click)=\"closeDropdown()\"><span matButton class=\"ghoddl-btn \"> Cancel </span> </td>\r\n </tr>\r\n </table>\r\n</div>\r\n}\r\n`,\r\n styleUrl: './input.css',\r\n})\r\nexport class GHOdropdown implements OnChanges {\r\n constructor(private el: ElementRef, private cdr: ChangeDetectorRef, private ngZone: NgZone) { }\r\n @Input() options: any[] = [];\r\n @Input() placeholder: string = 'Select an option';\r\n @Input() showclear: boolean = true;\r\n @Input() appearance: string = \"outline\"\r\n @Input() label: string = \"\";\r\n @Input() filter: boolean = true;\r\n listdata: { label: string; value: string }[] = [];\r\n isOpen = false;\r\n selectedtxt: string = \"\";\r\n\r\n @Input() sharedValue: string = '';\r\n @Output() sharedValueChange = new EventEmitter<string>();\r\n @Output() selectionchange = new EventEmitter<([])>();\r\n\r\n\r\n\r\n onModelChange(v: string): void {\r\n this.sharedValue = v;\r\n this.sharedValueChange.emit(v);\r\n this.setlabel();\r\n }\r\n setlabel() {\r\n if (this.listdata.length > 0) {\r\n for (let i: number = 0; i < this.listdata.length; i++) {\r\n\r\n if (this.sharedValue &&this.listdata[i].value.toString() == this.sharedValue.toString()) {\r\n this.selectedtxt = this.listdata[i].label\r\n break;\r\n }\r\n else {\r\n this.selectedtxt = this.label\r\n }\r\n }\r\n }\r\n else { this.selectedtxt = this.label }\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['options']) {\r\n this.listdata = []; debugger;\r\n const allKeys = Array.from(\r\n new Set(this.options.flatMap(item => Object.keys(item)))\r\n );\r\n for (let i: number = 0; i < this.options.length; i++) {\r\n if (allKeys.length == 1) {\r\n this.listdata.push({ label: this.options[i][allKeys[0]], value: this.options[i][allKeys[0]] })\r\n }\r\n else {\r\n this.listdata.push({ label: this.options[i][allKeys[1]], value: this.options[i][allKeys[0]] })\r\n }\r\n }\r\n this.setlabel();\r\n }\r\n if (changes['sharedValue']) {\r\n this.setlabel();\r\n }\r\n }\r\n\r\n\r\n toggleDropdown(): void {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n clear() {\r\n this.onModelChange(\"\")\r\n this.isOpen = false;\r\n }\r\n\r\n closeDropdown(): void {\r\n this.isOpen = false;\r\n }\r\n\r\n onSelectionChange(v: any) {\r\n this.isOpen = false;\r\n this.onModelChange(v.value);\r\n this.selectionchange.emit(v);\r\n }\r\n\r\n datavalid() {\r\n if (this.label != this.selectedtxt) { return true }\r\n if (this.label == this.selectedtxt) { return false }\r\n return false;\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onOutsideClick(event: Event): void {\r\n if (!this.el.nativeElement.contains(event.target)) {\r\n this.isOpen = false;\r\n }\r\n }\r\n\r\n\r\n getclearclass() {\r\n if (this.appearance == \"outline\") {\r\n if (this.datavalid() && this.showclear) { return \"input-outline-filter-img\"; }\r\n }\r\n else { return \"input-mat-img \"; }\r\n return \"input-mat\";\r\n }\r\n getclass() {\r\n if (this.appearance == \"outline\") {\r\n let css = \" d-flex gap-3\"\r\n if (!this.filter) { css = \"input-outline\" }\r\n\r\n if (this.filter) { if (!this.datavalid()) { css = \"input-outline\" } }\r\n\r\n if (this.filter) { if (this.datavalid()) { css = \"input-outline-filter \" } }\r\n\r\n if (!this.showclear) { css = \"input-outline\" }\r\n\r\n return css + \" input d-flex gap-3 \"\r\n }\r\n else {\r\n return \"input-mat d-flex gap-3 \"\r\n }\r\n }\r\n\r\n}","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, model, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges }\r\n from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'gho-input',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ],\r\n template: `<div style=\"height: 55px !important;\">\r\n <div style=\"height: 18px !important;\">\r\n @if(datavalid())\r\n {\r\n <div [ngStyle]=\"{ margin: '-2px 5px' }\" class=\"input-label\">{{label}}\r\n </div>\r\n }\r\n\r\n </div>\r\n <div >\r\n <table>\r\n <tr>\r\n <td> <input type=\"text\" [placeholder]=\"placeholder\" [ngModel]=\"sharedValue\" (input)=\"onInput($event)\"\r\n [ngClass]=\"getclass()\"></td>\r\n @if(filter && datavalid() )\r\n {\r\n <td>\r\n <div (click)=\"clear()\" [ngClass]=\"getclearclass()\">\r\n <i class=\"bi bi-x-lg \"></i>\r\n </div>\r\n </td> }\r\n </tr>\r\n </table>\r\n </div>\r\n</div>`,\r\n styleUrl: './input.css',\r\n providers: [DatePipe],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GHOInput implements OnInit {\r\n constructor(private el: ElementRef, private cdr: ChangeDetectorRef, private datePipe: DatePipe) { }\r\n @Input() list: [] = [];\r\n @Input() label: string = \"\";\r\n @Input() appearance: string = \"outline\"\r\n @Input() filter: boolean = false;\r\n @Input() showclear: boolean = false;\r\n placeholder: string = \"\";\r\n @Input() sharedValue: string = '';\r\n @Output() sharedValueChange = new EventEmitter<string>();\r\n\r\n\r\n onInput(event: Event): void {\r\n this.sharedValue = (event.target as HTMLInputElement).value\r\n this.sharedValueChange.emit(this.sharedValue);\r\n this.setlabel();\r\n }\r\n\r\n clear()\r\n {\r\n this.sharedValue = \"\"\r\n this.sharedValueChange.emit(this.sharedValue);\r\n this.setlabel();\r\n }\r\n\r\n setlabel() {\r\n if (this.sharedValue.length > 0) {\r\n this.placeholder = \"\"\r\n }\r\n else { this.placeholder = this.label }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['sharedValue']) {\r\n this.setlabel();\r\n }\r\n }\r\n\r\n getclass() {\r\n if (this.appearance == \"outline\") {\r\n let css = \" d-flex gap-3\"\r\n if (!this.filter) { css = \"input-outline\" }\r\n\r\n if (this.filter) { if (!this.datavalid()) { css = \"input-outline\" } }\r\n\r\n if (this.filter) { if (this.datavalid() && this.showclear) { css = \"input-outline-filter input-filter\" } }\r\n\r\n if (this.filter) { if (this.datavalid() && !this.showclear) { css = \"input-outline input-filter \" } }\r\n\r\n\r\n if (!this.showclear) { css = \"input-outline\" }\r\n\r\n return css + \" input\"\r\n }\r\n else {\r\n return \"input-mat d-flex gap-3 \"\r\n }\r\n }\r\n \r\n getclearclass() {\r\n if (this.appearance == \"outline\") {\r\n if (this.datavalid() && this.showclear) { return \"input-outline-filter-img\"; }\r\n }\r\n else { return \"input-mat-img \"; }\r\n return \"input-mat\";\r\n }\r\n\r\n datavalid() {\r\n if (this.placeholder==this.label) {\r\n return false;\r\n }\r\n else { return true; }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostListener,\r\n Input, OnInit, SimpleChanges\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { GHOdropdown } from \"./dropdown\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCalendar } from \"@angular/material/datepicker\";\r\nimport { provideNativeDateAdapter } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'gho-date',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, GHOdropdown, MatCalendar, MatDatepickerModule,\r\n MatCardModule, DatePipe],\r\n template:`\r\n <div style=\"height: 55px !important;\">\r\n <div style=\"height: 18px !important;\">\r\n @if(datavalid())\r\n {\r\n <div [ngStyle]=\"{ margin: '-3px 5px' }\" class=\"input-label\">{{label}}\r\n </div>\r\n }\r\n </div>\r\n <table>\r\n <tr>\r\n <td>\r\n <div (click)=\"toggleDropdown()\" [ngClass]=\"getclass()\">\r\n <span>{{ gettxt()}}</span>\r\n <i class=\"bi bi-caret-down-fill arrow-icon\" [class.rotate]=\"isOpen\"></i>\r\n </div>\r\n </td>\r\n @if(filter && datavalid() )\r\n {\r\n <td>\r\n <div (click)=\"clear()\" [ngClass]=\"getclearclass()\">\r\n <i class=\"bi bi-x-lg \"></i>\r\n </div>\r\n </td> }\r\n\r\n\r\n </tr>\r\n </table>\r\n </div>\r\n @if(isOpen){\r\n <div class=\"dropdown-menu show\">\r\n <table>\r\n <tr class=\"bb\">\r\n <td class=\"pl10\">\r\n <gho-dropdown [options]=\"months\" [(sharedValue)]=\"m\" (selectionchange)=\"onmodelchange($event,'m')\" [filter]=false\r\n label=\"Month\"></gho-dropdown>\r\n </td>\r\n <td class=\"\">\r\n <gho-dropdown [options]=\"days\" [(sharedValue)]=\"d\" (selectionchange)=\"onmodelchange($event,'d')\" [filter]=false\r\n label=\"Day\"></gho-dropdown>\r\n </td>\r\n <td class=\"pr10\">\r\n <gho-dropdown [options]=\"years\" [(sharedValue)]=\"y\" (selectionchange)=\"onmodelchange($event,'y')\" [filter]=false\r\n label=\"Year\"></gho-dropdown>\r\n\r\n </td>\r\n \r\n <td class=\"pr10 pointer\" style=\"width: 30px; padding-top: 10px;\">\r\n <div (click)=\"isOpen=false\" >\r\n <i class=\"bi bi-check2 bold\"></i>\r\n </div>\r\n </td>\r\n </tr>\r\n\r\n <tr>\r\n <td colspan=\"5\">\r\n <mat-calendar (selectedChange)=\"onDateChangeFromCalender($event)\">\r\n </mat-calendar>\r\n </td>\r\n </tr>\r\n\r\n </table>\r\n\r\n </div>\r\n }\r\n `,\r\n styleUrl: './input.css',\r\n providers: [provideNativeDateAdapter(), DatePipe,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => GHODate),\r\n multi: true\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GHODate implements ControlValueAccessor, OnInit {\r\n constructor(private el: ElementRef, private cdr: ChangeDetectorRef,\r\n private datePipe: DatePipe) { }\r\n @Input() options: any[] = [];\r\n @Input() placeholder: string = 'Select an option';\r\n @Input() showclear: boolean = true;\r\n @Input() appearance: string = \"outline\"\r\n @Input() label: string = \"\";\r\n @Input() filter: boolean = true;\r\n public value: string = \"\";\r\n public disabled: boolean = false;\r\n listdata: { label: string; value: string }[] = [];\r\n isOpen = false;\r\n selectedtxt: string = \"\";\r\n days: { value: string }[] = []\r\n years: { value: string }[] = [];\r\n months: { value: string, name: string }[] = [];\r\n currentYear: number = new Date().getFullYear();\r\n d: any;\r\n m: any;\r\n y: any;\r\n\r\n\r\n // Writes a new value to the element\r\n writeValue(value: any): void {\r\n this.value = value;\r\n if (this.value !== undefined && this.value !== null) {\r\n const date = new Date(value);\r\n if (!date) {\r\n this.d = null;\r\n this.m = null;\r\n this.y = null;\r\n }\r\n else {\r\n const formatted = this.datePipe.transform(date, 'MM/dd/yyyy');\r\n if (formatted !== undefined && formatted !== null) {\r\n const [month, day, year] = formatted.split('/').map(Number);\r\n this.m = month,\r\n this.y = year;\r\n this.d = day\r\n }\r\n }\r\n }\r\n }\r\n\r\n onmodelchange(e: any, t: any) {\r\n if (t == \"d\") { this.d = e.value }\r\n if (t == \"m\") { this.m = e.value }\r\n if (t == \"y\") { this.y = e.value }\r\n this.setdt();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.populateYears();\r\n this.populateMonths();\r\n this.populateDays(31);\r\n }\r\n\r\n\r\n setdt() {\r\n if (this.d == 0 || this.m == 0 || this.y == 0) { this.value = \"\" }\r\n else {\r\n this.value = this.m + \" - \" + this.d + \" - \" + this.y\r\n }\r\n this.onChange(this.value);\r\n this.onTouched();\r\n }\r\n\r\n onDateChangeFromCalender(date: Date | null) {\r\n if (!date) return;\r\n const formatted = this.datePipe.transform(date, 'MM/dd/yyyy');\r\n if (formatted !== undefined && formatted !== null) {\r\n const [month, day, year] = formatted.split('/').map(Number);\r\n this.m = month,\r\n this.y = year;\r\n this.d = day\r\n }\r\n this.setdt()\r\n this.isOpen = false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n populateMonths() {\r\n this.months = [\r\n { value: \"1\", name: 'January' },\r\n { value: \"2\", name: 'February' },\r\n { value: \"3\", name: 'March' },\r\n { value: \"4\", name: 'April' },\r\n { value: \"5\", name: 'May' },\r\n { value: \"6\", name: 'June' },\r\n { value: \"7\", name: 'July' },\r\n { value: \"8\", name: 'August' },\r\n { value: \"9\", name: 'September' },\r\n { value: \"10\", name: 'October' },\r\n { value: \"11\", name: 'November' },\r\n { value: \"12\", name: 'December' }\r\n ];\r\n }\r\n populateYears(start = (this.currentYear - 95), end = 1 + new Date().getFullYear()) {\r\n for (let year = end; year >= start; year--) {\r\n this.years.push({ value: year.toString() });\r\n }\r\n }\r\n\r\n populateDays(start = 1, end = 31) {\r\n for (let i: number = 1; i < 32; i++) {\r\n this.days.push({ value: i.toString() });\r\n }\r\n }\r\n\r\n gettxt() {\r\n if (this.datavalid()) { return this.value }\r\n else { return this.label }\r\n }\r\n\r\n toggleDropdown(): void {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n clear() {\r\n this.value = \"\";\r\n this.onChange(this.value);\r\n this.onTouched();\r\n }\r\n\r\n closeDropdown(): void {\r\n this.isOpen = false;\r\n }\r\n\r\n datavalid() {\r\n if (this.value === undefined || this.value == null || this.value == \"\" || this.value == \"0\") {\r\n return false;\r\n }\r\n else { return true; }\r\n }\r\n\r\n\r\n // Functions to call when the value changes or the control is touched\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n // Registers a callback function that is called when the control's value changes in the UI\r\n registerOnChange(fn: any): void {\r\n this.isOpen = false;\r\n this.onChange = fn;\r\n }\r\n\r\n // Registers a callback function that is called whenever the control receives a touch event\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n\r\n\r\n // Sets the disabled state of the control\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n\r\n onSelectionChange(v: any) {\r\n this.isOpen = false;\r\n this.selectedtxt = v.label;\r\n const newValue = v.value;\r\n this.value = newValue;\r\n this.onChange(newValue); // Notify Angular forms about the change\r\n this.onTouched(); // Mark the control as touched\r\n }\r\n\r\n\r\n\r\n @HostListener('document:click', ['$event'])\r\n onOutsideClick(event: Event): void {\r\n if (!this.el.nativeElement.contains(event.target)) {\r\n this.isOpen = false;\r\n }\r\n }\r\n\r\n\r\n getclearclass() {\r\n if (this.appearance == \"outline\") {\r\n if (this.datavalid() && this.showclear) { return \"input-outline-filter-img\"; }\r\n }\r\n else { return \"input-mat-img \"; }\r\n return \"input-mat\";\r\n }\r\n getclass() {\r\n if (this.appearance == \"outline\") {\r\n let css = \" d-flex gap-3\"\r\n if (!this.filter) { css = \"input-outline\" }\r\n\r\n if (this.filter) { if (!this.datavalid()) { css = \"input-outline\" } }\r\n\r\n if (this.filter) { if (this.datavalid()) { css = \"input-outline-filter \" } }\r\n\r\n if (!this.showclear) { css = \"input-outline\" }\r\n\r\n return css + \" input d-flex gap-3 \"\r\n }\r\n else {\r\n return \"input-mat d-flex gap-3 \"\r\n }\r\n }\r\n\r\n}","/*\r\n * Public API Surface of ghocomps\r\n */\r\n\r\nexport * from './lib/dropdown';\r\nexport * from './lib/input';\r\nexport * from './lib/date';","/**\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,125 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnChanges, ElementRef, ChangeDetectorRef, NgZone, EventEmitter, SimpleChanges, OnInit } from '@angular/core';
3
+ import { DatePipe } from '@angular/common';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+
6
+ declare class GHOdropdown implements OnChanges {
7
+ private el;
8
+ private cdr;
9
+ private ngZone;
10
+ constructor(el: ElementRef, cdr: ChangeDetectorRef, ngZone: NgZone);
11
+ options: any[];
12
+ placeholder: string;
13
+ showclear: boolean;
14
+ appearance: string;
15
+ label: string;
16
+ filter: boolean;
17
+ listdata: {
18
+ label: string;
19
+ value: string;
20
+ }[];
21
+ isOpen: boolean;
22
+ selectedtxt: string;
23
+ sharedValue: string;
24
+ sharedValueChange: EventEmitter<string>;
25
+ selectionchange: EventEmitter<[]>;
26
+ onModelChange(v: string): void;
27
+ setlabel(): void;
28
+ ngOnChanges(changes: SimpleChanges): void;
29
+ toggleDropdown(): void;
30
+ clear(): void;
31
+ closeDropdown(): void;
32
+ onSelectionChange(v: any): void;
33
+ datavalid(): boolean;
34
+ onOutsideClick(event: Event): void;
35
+ getclearclass(): "input-outline-filter-img" | "input-mat-img " | "input-mat";
36
+ getclass(): string;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<GHOdropdown, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<GHOdropdown, "gho-dropdown", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "showclear": { "alias": "showclear"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "label": { "alias": "label"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "sharedValue": { "alias": "sharedValue"; "required": false; }; }, { "sharedValueChange": "sharedValueChange"; "selectionchange": "selectionchange"; }, never, never, true, never>;
39
+ }
40
+
41
+ declare class GHOInput implements OnInit {
42
+ private el;
43
+ private cdr;
44
+ private datePipe;
45
+ constructor(el: ElementRef, cdr: ChangeDetectorRef, datePipe: DatePipe);
46
+ list: [];
47
+ label: string;
48
+ appearance: string;
49
+ filter: boolean;
50
+ showclear: boolean;
51
+ placeholder: string;
52
+ sharedValue: string;
53
+ sharedValueChange: EventEmitter<string>;
54
+ onInput(event: Event): void;
55
+ clear(): void;
56
+ setlabel(): void;
57
+ ngOnChanges(changes: SimpleChanges): void;
58
+ getclass(): string;
59
+ getclearclass(): "input-outline-filter-img" | "input-mat-img " | "input-mat";
60
+ datavalid(): boolean;
61
+ ngOnInit(): void;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<GHOInput, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<GHOInput, "gho-input", never, { "list": { "alias": "list"; "required": false; }; "label": { "alias": "label"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "showclear": { "alias": "showclear"; "required": false; }; "sharedValue": { "alias": "sharedValue"; "required": false; }; }, { "sharedValueChange": "sharedValueChange"; }, never, never, true, never>;
64
+ }
65
+
66
+ declare class GHODate implements ControlValueAccessor, OnInit {
67
+ private el;
68
+ private cdr;
69
+ private datePipe;
70
+ constructor(el: ElementRef, cdr: ChangeDetectorRef, datePipe: DatePipe);
71
+ options: any[];
72
+ placeholder: string;
73
+ showclear: boolean;
74
+ appearance: string;
75
+ label: string;
76
+ filter: boolean;
77
+ value: string;
78
+ disabled: boolean;
79
+ listdata: {
80
+ label: string;
81
+ value: string;
82
+ }[];
83
+ isOpen: boolean;
84
+ selectedtxt: string;
85
+ days: {
86
+ value: string;
87
+ }[];
88
+ years: {
89
+ value: string;
90
+ }[];
91
+ months: {
92
+ value: string;
93
+ name: string;
94
+ }[];
95
+ currentYear: number;
96
+ d: any;
97
+ m: any;
98
+ y: any;
99
+ writeValue(value: any): void;
100
+ onmodelchange(e: any, t: any): void;
101
+ ngOnInit(): void;
102
+ setdt(): void;
103
+ onDateChangeFromCalender(date: Date | null): void;
104
+ populateMonths(): void;
105
+ populateYears(start?: number, end?: number): void;
106
+ populateDays(start?: number, end?: number): void;
107
+ gettxt(): string;
108
+ toggleDropdown(): void;
109
+ clear(): void;
110
+ closeDropdown(): void;
111
+ datavalid(): boolean;
112
+ onChange: any;
113
+ onTouched: any;
114
+ registerOnChange(fn: any): void;
115
+ registerOnTouched(fn: any): void;
116
+ setDisabledState?(isDisabled: boolean): void;
117
+ onSelectionChange(v: any): void;
118
+ onOutsideClick(event: Event): void;
119
+ getclearclass(): "input-outline-filter-img" | "input-mat-img " | "input-mat";
120
+ getclass(): string;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<GHODate, never>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<GHODate, "gho-date", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "showclear": { "alias": "showclear"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "label": { "alias": "label"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, true, never>;
123
+ }
124
+
125
+ export { GHODate, GHOInput, GHOdropdown };
package/package.json CHANGED
@@ -1,50 +1,23 @@
1
1
  {
2
2
  "name": "ghocomps",
3
- "version": "1.1.25",
4
- "scripts": {
5
- "ng": "ng",
6
- "start": "ng serve",
7
- "build": "ng build",
8
- "watch": "ng build --watch --configuration development",
9
- "test": "ng test"
10
- },
11
- "prettier": {
12
- "printWidth": 100,
13
- "singleQuote": true,
14
- "overrides": [
15
- {
16
- "files": "*.html",
17
- "options": {
18
- "parser": "angular"
19
- }
20
- }
21
- ]
3
+ "version": "1.3.25",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.3.0",
6
+ "@angular/core": "^20.3.0"
22
7
  },
23
- "private": false,
24
8
  "dependencies": {
25
- "@angular/cdk": "^20.2.14",
26
- "@angular/common": "^20.3.0",
27
- "@angular/compiler": "^20.3.0",
28
- "@angular/core": "^20.3.0",
29
- "@angular/forms": "^20.3.0",
30
- "@angular/material": "^20.2.14",
31
- "@angular/platform-browser": "^20.3.0",
32
- "@angular/router": "^20.3.0",
33
- "rxjs": "~7.8.0",
34
9
  "tslib": "^2.3.0"
35
10
  },
36
- "devDependencies": {
37
- "@angular/build": "^20.3.13",
38
- "@angular/cli": "^20.3.5",
39
- "@angular/compiler-cli": "^20.3.0",
40
- "@types/jasmine": "~5.1.0",
41
- "jasmine-core": "~5.9.0",
42
- "karma": "~6.4.0",
43
- "karma-chrome-launcher": "~3.2.0",
44
- "karma-coverage": "~2.2.0",
45
- "karma-jasmine": "~5.1.0",
46
- "karma-jasmine-html-reporter": "~2.1.0",
47
- "ng-packagr": "^20.3.0",
48
- "typescript": "~5.9.2"
11
+ "sideEffects": false,
12
+ "module": "fesm2022/ghocomps.mjs",
13
+ "typings": "index.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./index.d.ts",
20
+ "default": "./fesm2022/ghocomps.mjs"
21
+ }
49
22
  }
50
23
  }
package/.editorconfig DELETED
@@ -1,17 +0,0 @@
1
- # Editor configuration, see https://editorconfig.org
2
- root = true
3
-
4
- [*]
5
- charset = utf-8
6
- indent_style = space
7
- indent_size = 2
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
10
-
11
- [*.ts]
12
- quote_type = single
13
- ij_typescript_use_double_quotes = false
14
-
15
- [*.md]
16
- max_line_length = off
17
- trim_trailing_whitespace = false
@@ -1,4 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
- "recommendations": ["angular.ng-template"]
4
- }
@@ -1,20 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
- "version": "0.2.0",
4
- "configurations": [
5
- {
6
- "name": "ng serve",
7
- "type": "chrome",
8
- "request": "launch",
9
- "preLaunchTask": "npm: start",
10
- "url": "http://localhost:4200/"
11
- },
12
- {
13
- "name": "ng test",
14
- "type": "chrome",
15
- "request": "launch",
16
- "preLaunchTask": "npm: test",
17
- "url": "http://localhost:9876/debug.html"
18
- }
19
- ]
20
- }
@@ -1,42 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3
- "version": "2.0.0",
4
- "tasks": [
5
- {
6
- "type": "npm",
7
- "script": "start",
8
- "isBackground": true,
9
- "problemMatcher": {
10
- "owner": "typescript",
11
- "pattern": "$tsc",
12
- "background": {
13
- "activeOnStart": true,
14
- "beginsPattern": {
15
- "regexp": "(.*?)"
16
- },
17
- "endsPattern": {
18
- "regexp": "bundle generation complete"
19
- }
20
- }
21
- }
22
- },
23
- {
24
- "type": "npm",
25
- "script": "test",
26
- "isBackground": true,
27
- "problemMatcher": {
28
- "owner": "typescript",
29
- "pattern": "$tsc",
30
- "background": {
31
- "activeOnStart": true,
32
- "beginsPattern": {
33
- "regexp": "(.*?)"
34
- },
35
- "endsPattern": {
36
- "regexp": "bundle generation complete"
37
- }
38
- }
39
- }
40
- }
41
- ]
42
- }
package/angular.json DELETED
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
- "version": 1,
4
- "newProjectRoot": "projects",
5
- "projects": {
6
- "GHOComps": {
7
- "projectType": "library",
8
- "root": "projects/ghocomps",
9
- "sourceRoot": "projects/ghocomps/src",
10
- "prefix": "lib",
11
- "architect": {
12
- "build": {
13
- "builder": "@angular/build:ng-packagr",
14
- "configurations": {
15
- "production": {
16
- "tsConfig": "projects/ghocomps/tsconfig.lib.prod.json"
17
- },
18
- "development": {
19
- "tsConfig": "projects/ghocomps/tsconfig.lib.json"
20
- }
21
- },
22
- "defaultConfiguration": "production"
23
- },
24
- "test": {
25
- "builder": "@angular/build:karma",
26
- "options": {
27
- "tsConfig": "projects/ghocomps/tsconfig.spec.json"
28
- }
29
- }
30
- }
31
- }
32
- },
33
- "cli": {
34
- "analytics": false
35
- }
36
- }
@@ -1,63 +0,0 @@
1
- # GHOComps
2
-
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
4
-
5
- ## Code scaffolding
6
-
7
- Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
-
9
- ```bash
10
- ng generate component component-name
11
- ```
12
-
13
- For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
-
15
- ```bash
16
- ng generate --help
17
- ```
18
-
19
- ## Building
20
-
21
- To build the library, run:
22
-
23
- ```bash
24
- ng build GHOComps
25
- ```
26
-
27
- This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
-
29
- ### Publishing the Library
30
-
31
- Once the project is built, you can publish your library by following these steps:
32
-
33
- 1. Navigate to the `dist` directory:
34
- ```bash
35
- cd dist/ghocomps
36
- ```
37
-
38
- 2. Run the `npm publish` command to publish your library to the npm registry:
39
- ```bash
40
- npm publish
41
- ```
42
-
43
- ## Running unit tests
44
-
45
- To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
46
-
47
- ```bash
48
- ng test
49
- ```
50
-
51
- ## Running end-to-end tests
52
-
53
- For end-to-end (e2e) testing, run:
54
-
55
- ```bash
56
- ng e2e
57
- ```
58
-
59
- Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
60
-
61
- ## Additional Resources
62
-
63
- For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/ghocomps",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "ghocomps",
3
- "version": "0.0.1",
4
- "peerDependencies": {
5
- "@angular/common": "^20.3.0",
6
- "@angular/core": "^20.3.0"
7
- },
8
- "dependencies": {
9
- "tslib": "^2.3.0"
10
- },
11
- "sideEffects": false
12
- }