windows-plus-utilities 0.0.26 → 0.0.28

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,41 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "windows-plus-form-fields/custom-button";
5
+ export class TableComponent {
6
+ /**
7
+ * @author Alex Hodson
8
+ * @description class constructor specifying the required services and properties for the component
9
+ */
10
+ constructor() { }
11
+ /**
12
+ * @author Alex Hodson
13
+ * @description the method to be run when the component is rendered
14
+ */
15
+ ngOnInit() {
16
+ }
17
+ /**
18
+ * @author Alex Hodson
19
+ * @description identifies whether the given element is a string or number; If so, the element can be rendered normally
20
+ * @param element the element to be checked
21
+ * @returns whether the given element is a string or number
22
+ */
23
+ isString(element) {
24
+ return typeof element === 'string' || typeof element === 'number' || element == null;
25
+ }
26
+ }
27
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableComponent, selector: "wp-table", inputs: { id: "id", title: "title", headers: "headers", tableData: "tableData" }, ngImport: i0, template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CustomButtonComponent, selector: "wp-custom-button", inputs: ["value", "type", "colour", "id", "outline", "disabled", "icon"], outputs: ["handleClick"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'wp-table', template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"] }]
32
+ }], ctorParameters: function () { return []; }, propDecorators: { id: [{
33
+ type: Input
34
+ }], title: [{
35
+ type: Input
36
+ }], headers: [{
37
+ type: Input
38
+ }], tableData: [{
39
+ type: Input
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy90YWJsZS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7Ozs7QUFRakUsTUFBTSxPQUFPLGNBQWM7SUFpQjFCOzs7T0FHRztJQUNILGdCQUFnQixDQUFDO0lBQ2pCOzs7T0FHRztJQUNILFFBQVE7SUFDUixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsT0FBa0I7UUFDMUIsT0FBTyxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUE7SUFDckYsQ0FBQzs7NEdBcENXLGNBQWM7Z0dBQWQsY0FBYyxrSUNSM0Isa2lEQXdDTTs0RkRoQ08sY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVOzBFQVFaLEVBQUU7c0JBQVYsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVEYXRhIH0gZnJvbSAnLi4vLi4vdXRpbC90eXBlcy90YWJsZS1kYXRhL3RhYmxlLWRhdGEudHlwZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3AtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2FzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgaWRlbnRpZmllciBvZiB0aGUgdGFibGUgZWxlbWVudFxuXHQgKi9cblx0QElucHV0KCkgaWQ6IHN0cmluZ1xuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSB0aXRsZSBvZiB0aGUgdGFibGVcblx0ICovXG5cdEBJbnB1dCgpIHRpdGxlOiBzdHJpbmdcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgdGFibGUgaGVhZGVyc1xuXHQgKi9cblx0QElucHV0KCkgaGVhZGVyczogc3RyaW5nXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIHRhYmxlIGRhdGEgdG8gYmUgZGlzcGxheWVkXG5cdCAqL1xuXHRASW5wdXQoKSB0YWJsZURhdGE6IFRhYmxlRGF0YVtdXG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllcyBmb3IgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7IH1cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIHRoZSBtZXRob2QgdG8gYmUgcnVuIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZW5kZXJlZFxuXHQgKi9cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdH1cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIGlkZW50aWZpZXMgd2hldGhlciB0aGUgZ2l2ZW4gZWxlbWVudCBpcyBhIHN0cmluZyBvciBudW1iZXI7IElmIHNvLCB0aGUgZWxlbWVudCBjYW4gYmUgcmVuZGVyZWQgbm9ybWFsbHlcblx0ICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gYmUgY2hlY2tlZFxuXHQgKiBAcmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBlbGVtZW50IGlzIGEgc3RyaW5nIG9yIG51bWJlclxuXHQgKi9cblx0aXNTdHJpbmcoZWxlbWVudDogVGFibGVEYXRhKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgZWxlbWVudCA9PT0gJ251bWJlcicgfHwgZWxlbWVudCA9PSBudWxsXG5cdH1cbn1cbiIsIjxkaXY+XG5cdDxoMiBjbGFzcz1cImxlYWRcIj57e3RpdGxlfX08L2gyPlxuXHQ8ZGl2ICpuZ0lmPVwidGFibGVEYXRhLmxlbmd0aCA+IDAgdGhlbiB0YWJsZUJsb2NrIGVsc2UgZW1wdHlCbG9ja1wiPjwvZGl2PlxuXHQ8bmctdGVtcGxhdGUgI3RhYmxlQmxvY2s+XG5cdFx0PGRpdiBjbGFzcz1cInNjcm9sbGFibGUtd3JhcHBlclwiPlxuXHRcdFx0PHRhYmxlIFtpZF09XCJpZFwiIGNsYXNzPVwidGFibGUgdGFibGUtcmVzcG9uc2l2ZVwiPlxuXHRcdFx0XHQ8dGhlYWQgY2xhc3M9XCJ0aGVhZCB0aGVhZC1ibHVlXCI+XG5cdFx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdFx0PHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgaGVhZGVyc1wiPnt7aGVhZGVyfX08L3RoPlxuXHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHQ8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiB0YWJsZURhdGFcIj5cblx0XHRcdFx0XHRcdDx0ZCBjbGFzcz1cInRhYmxlLWNlbGwgdGV4dC1ncmV5XCIgKm5nRm9yPVwibGV0IGhlYWRlciBvZiBoZWFkZXJzXCI+XG5cdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInRydWVcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2ICpuZ1N3aXRjaENhc2U9XCJpc1N0cmluZyhyb3dbaGVhZGVyXSlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdHt7cm93W2hlYWRlcl19fVxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgKm5nU3dpdGNoQ2FzZT1cIiFpc1N0cmluZyhyb3dbaGVhZGVyXSlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx3cC1jdXN0b20tYnV0dG9uIFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbaWRdPVwicm93W2hlYWRlcl0uaWRcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbdmFsdWVdPVwicm93W2hlYWRlcl0udmFsdWVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbdHlwZV09XCJyb3dbaGVhZGVyXS50eXBlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0W2NvbG91cl09XCJyb3dbaGVhZGVyXS5jb2xvdXJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbb3V0bGluZV09XCJyb3dbaGVhZGVyXS5vdXRsaW5lXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cInJvd1toZWFkZXJdLmRpc2FibGVkXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0W2ljb25dPVwicm93W2hlYWRlcl0uaWNvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdChoYW5kbGVDbGljayk9XCJyb3dbaGVhZGVyXS5oYW5kbGVDbGljaygkZXZlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdD48L3dwLWN1c3RvbS1idXR0b24+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0PC90YWJsZT5cblx0XHQ8L2Rpdj5cblx0PC9uZy10ZW1wbGF0ZT5cblx0PG5nLXRlbXBsYXRlICNlbXB0eUJsb2NrPlxuXHRcdDxwIGNsYXNzPVwidGV4dC1ncmV5XCI+VGhlcmUgaXMgbm8gZGF0YSB0byBzaG93PC9wPlxuXHQ8L25nLXRlbXBsYXRlPlxuPC9kaXY+Il19
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of windows-plus-utilities
3
+ */
4
+ export * from './components/table/table.component';
5
+ export * from './util/interface/config/table-configuration.interface';
6
+ export * from './util/types/table-data/table-data.type';
7
+ export * from './table.module';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygd2luZG93cy1wbHVzLXV0aWxpdGllc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaW50ZXJmYWNlL2NvbmZpZy90YWJsZS1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC90eXBlcy90YWJsZS1kYXRhL3RhYmxlLWRhdGEudHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUubW9kdWxlJztcclxuIl19
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TableComponent } from './components/table/table.component';
4
+ import { CustomButtonModule } from 'windows-plus-form-fields/custom-button';
5
+ import * as i0 from "@angular/core";
6
+ export class TableModule {
7
+ }
8
+ TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TableModule, declarations: [TableComponent], imports: [CommonModule,
10
+ CustomButtonModule], exports: [TableComponent] });
11
+ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, imports: [CommonModule,
12
+ CustomButtonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ TableComponent
18
+ ],
19
+ imports: [
20
+ CommonModule,
21
+ CustomButtonModule,
22
+ ],
23
+ exports: [
24
+ TableComponent
25
+ ]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy90YWJsZS90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQWM1RSxNQUFNLE9BQU8sV0FBVzs7eUdBQVgsV0FBVzswR0FBWCxXQUFXLGlCQVZwQixjQUFjLGFBR2pCLFlBQVk7UUFDWCxrQkFBa0IsYUFHaEIsY0FBYzswR0FHTCxXQUFXLFlBUHZCLFlBQVk7UUFDWCxrQkFBa0I7NEZBTVAsV0FBVztrQkFadkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1YsWUFBWTt3QkFDWCxrQkFBa0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tQnV0dG9uTW9kdWxlIH0gZnJvbSAnd2luZG93cy1wbHVzLWZvcm0tZmllbGRzL2N1c3RvbS1idXR0b24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUYWJsZUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG5cdENvbW1vbk1vZHVsZSxcblx0XHRDdXN0b21CdXR0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUYWJsZUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL3RhYmxlL3V0aWwvaW50ZXJmYWNlL2NvbmZpZy90YWJsZS1jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUtZGF0YS90YWJsZS1kYXRhLnR5cGUnXHJcbi8qKlxyXG4gKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcbiAqIEBkZXNjcmlwdGlvbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVmaW5lcyB0aGUgcHJvcGVydGllcyByZXF1aXJlZCBieSB0aGUgdGFibGVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb25maWd1cmF0aW9uIHtcclxuXHQnaWQnOiBzdHJpbmcsXHJcblx0J3RpdGxlJzogc3RyaW5nLFxyXG5cdCdoZWFkZXJzJzogc3RyaW5nW10sXHJcblx0J3RhYmxlRGF0YSc6IFRhYmxlRGF0YVtdXHJcblx0J2NvbmRpdGlvbic/OiAoLi4uYXJnczogYW55W10pID0+IGJvb2xlYW5cclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy90YWJsZS91dGlsL3R5cGVzL3RhYmxlLWRhdGEvdGFibGUtZGF0YS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21CdXR0b25Db25maWcgfSBmcm9tICd3aW5kb3dzLXBsdXMtZm9ybS1maWVsZHMvY3VzdG9tLWJ1dHRvbidcclxuXHJcbi8qKlxyXG4gKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcbiAqIEBkZXNjcmlwdGlvbiBhIHVuaW9uIHR5cGUgd2hpY2ggZGVmaW5lcyB0aGUgYXZhaWxhYmxlIHR5cGVzIGZvciBhIHRhYmxlcyBkYXRhIFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgVGFibGVEYXRhID0geyBba2V5OiBzdHJpbmddOiBDdXN0b21CdXR0b25Db25maWd8c3RyaW5nfG51bWJlciB9Il19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy1wbHVzLXV0aWxpdGllcy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvdGFibGUvd2luZG93cy1wbHVzLXV0aWxpdGllcy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ReplacePipe } from './replace.pipe';
3
+ import * as i0 from "@angular/core";
4
+ export class ReplaceModule {
5
+ }
6
+ ReplaceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ ReplaceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, declarations: [ReplacePipe], exports: [ReplacePipe] });
8
+ ReplaceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [],
13
+ declarations: [
14
+ ReplacePipe
15
+ ],
16
+ exports: [
17
+ ReplacePipe
18
+ ]
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL3V0aWwvcGlwZS9yZXBsYWNlL3JlcGxhY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOztBQVc1QyxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQU50QixXQUFXLGFBR1gsV0FBVzs0R0FHRixhQUFhOzRGQUFiLGFBQWE7a0JBVHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7cUJBQ1o7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IFJlcGxhY2VQaXBlIH0gZnJvbSAnLi9yZXBsYWNlLnBpcGUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGRlY2xhcmF0aW9uczogWyBcclxuICAgIFJlcGxhY2VQaXBlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSZXBsYWNlUGlwZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGxhY2VNb2R1bGV7fSJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ReplacePipe {
4
+ /**
5
+ * @author Alex Hodson
6
+ * @description the entry point for the point which calls the format method and returns its value
7
+ * @param value the value of the HTML element
8
+ * @param replace the string to be replaced
9
+ * @param withThis the replacement string
10
+ * @returns the formatted value
11
+ */
12
+ transform(value, replace, withThis) {
13
+ return this.format(value, replace, withThis);
14
+ }
15
+ /**
16
+ * @author Alex Hodson
17
+ * @description replaces a substring with the given replacement in a value
18
+ * @param value the value of the HTML element
19
+ * @param replace the string to be replaced
20
+ * @param withThis the replacement string
21
+ * @returns the formatted value
22
+ */
23
+ format(value, replace, withThis) {
24
+ return value.replace(new RegExp(replace, 'g'), withThis);
25
+ }
26
+ }
27
+ ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
28
+ ReplacePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, name: "replace" });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{
32
+ name: 'replace'
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy91dGlsL3BpcGUvcmVwbGFjZS9yZXBsYWNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxXQUFXO0lBQ3ZCOzs7Ozs7O09BT0c7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxRQUFnQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE1BQU0sQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLFFBQWdCO1FBQzlELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDekQsQ0FBQzs7eUdBdkJXLFdBQVc7dUdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAncmVwbGFjZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVwbGFjZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBvaW50IHdoaWNoIGNhbGxzIHRoZSBmb3JtYXQgbWV0aG9kIGFuZCByZXR1cm5zIGl0cyB2YWx1ZVxuXHQgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIG9mIHRoZSBIVE1MIGVsZW1lbnRcblx0ICogQHBhcmFtIHJlcGxhY2UgdGhlIHN0cmluZyB0byBiZSByZXBsYWNlZFxuXHQgKiBAcGFyYW0gd2l0aFRoaXMgdGhlIHJlcGxhY2VtZW50IHN0cmluZ1xuXHQgKiBAcmV0dXJucyB0aGUgZm9ybWF0dGVkIHZhbHVlXG5cdCAqL1xuXHR0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgcmVwbGFjZTogc3RyaW5nLCB3aXRoVGhpczogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtYXQodmFsdWUsIHJlcGxhY2UsIHdpdGhUaGlzKVxuXHR9XG5cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIHJlcGxhY2VzIGEgc3Vic3RyaW5nIHdpdGggdGhlIGdpdmVuIHJlcGxhY2VtZW50IGluIGEgdmFsdWVcblx0ICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSBvZiB0aGUgSFRNTCBlbGVtZW50XG5cdCAqIEBwYXJhbSByZXBsYWNlIHRoZSBzdHJpbmcgdG8gYmUgcmVwbGFjZWRcblx0ICogQHBhcmFtIHdpdGhUaGlzIHRoZSByZXBsYWNlbWVudCBzdHJpbmdcblx0ICogQHJldHVybnMgdGhlIGZvcm1hdHRlZCB2YWx1ZVxuXHQgKi9cblx0cHJpdmF0ZSBmb3JtYXQodmFsdWU6IHN0cmluZywgcmVwbGFjZTogc3RyaW5nLCB3aXRoVGhpczogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKHJlcGxhY2UsICdnJyksIHdpdGhUaGlzKVxuXHR9XG59XG4iXX0=
@@ -7,5 +7,7 @@ export * from './pipe/format-date/format-date.module';
7
7
  export * from './pipe/format-date/format-date.pipe';
8
8
  export * from './pipe/format-date-time/format-date-time.module';
9
9
  export * from './pipe/format-date-time/format-date-time.pipe';
10
+ export * from './pipe/replace/replace.module';
11
+ export * from './pipe/replace/replace.pipe';
10
12
  export * from './helper/string/string-helper';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvdXRpbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBRXZELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUVuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYywrQkFBK0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB3aW5kb3dzLXBsdXMtdXRpbGl0aWVzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGUvYmVhdXRpZnktdGV4dC9iZWF1dGlmeS10ZXh0Lm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2JlYXV0aWZ5LXRleHQvYmVhdXRpZnktdGV4dC5waXBlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2Zvcm1hdC1kYXRlL2Zvcm1hdC1kYXRlLm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2Zvcm1hdC1kYXRlL2Zvcm1hdC1kYXRlLnBpcGUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3BpcGUvZm9ybWF0LWRhdGUtdGltZS9mb3JtYXQtZGF0ZS10aW1lLm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2Zvcm1hdC1kYXRlLXRpbWUvZm9ybWF0LWRhdGUtdGltZS5waXBlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXIvc3RyaW5nL3N0cmluZy1oZWxwZXInIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvdXRpbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBRXZELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUVuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLDZCQUE2QixDQUFBO0FBRTNDLGNBQWMsK0JBQStCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygd2luZG93cy1wbHVzLXV0aWxpdGllc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2JlYXV0aWZ5LXRleHQvYmVhdXRpZnktdGV4dC5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9iZWF1dGlmeS10ZXh0L2JlYXV0aWZ5LXRleHQucGlwZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9mb3JtYXQtZGF0ZS9mb3JtYXQtZGF0ZS5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9mb3JtYXQtZGF0ZS9mb3JtYXQtZGF0ZS5waXBlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2Zvcm1hdC1kYXRlLXRpbWUvZm9ybWF0LWRhdGUtdGltZS5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9mb3JtYXQtZGF0ZS10aW1lL2Zvcm1hdC1kYXRlLXRpbWUucGlwZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9yZXBsYWNlL3JlcGxhY2UubW9kdWxlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGUvcmVwbGFjZS9yZXBsYWNlLnBpcGUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2hlbHBlci9zdHJpbmcvc3RyaW5nLWhlbHBlciciXX0=
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from 'windows-plus-form-fields/custom-button';
6
+ import { CustomButtonModule } from 'windows-plus-form-fields/custom-button';
7
+
8
+ class TableComponent {
9
+ /**
10
+ * @author Alex Hodson
11
+ * @description class constructor specifying the required services and properties for the component
12
+ */
13
+ constructor() { }
14
+ /**
15
+ * @author Alex Hodson
16
+ * @description the method to be run when the component is rendered
17
+ */
18
+ ngOnInit() {
19
+ }
20
+ /**
21
+ * @author Alex Hodson
22
+ * @description identifies whether the given element is a string or number; If so, the element can be rendered normally
23
+ * @param element the element to be checked
24
+ * @returns whether the given element is a string or number
25
+ */
26
+ isString(element) {
27
+ return typeof element === 'string' || typeof element === 'number' || element == null;
28
+ }
29
+ }
30
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableComponent, selector: "wp-table", inputs: { id: "id", title: "title", headers: "headers", tableData: "tableData" }, ngImport: i0, template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CustomButtonComponent, selector: "wp-custom-button", inputs: ["value", "type", "colour", "id", "outline", "disabled", "icon"], outputs: ["handleClick"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'wp-table', template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"] }]
35
+ }], ctorParameters: function () { return []; }, propDecorators: { id: [{
36
+ type: Input
37
+ }], title: [{
38
+ type: Input
39
+ }], headers: [{
40
+ type: Input
41
+ }], tableData: [{
42
+ type: Input
43
+ }] } });
44
+
45
+ class TableModule {
46
+ }
47
+ TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TableModule, declarations: [TableComponent], imports: [CommonModule,
49
+ CustomButtonModule], exports: [TableComponent] });
50
+ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, imports: [CommonModule,
51
+ CustomButtonModule] });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, decorators: [{
53
+ type: NgModule,
54
+ args: [{
55
+ declarations: [
56
+ TableComponent
57
+ ],
58
+ imports: [
59
+ CommonModule,
60
+ CustomButtonModule,
61
+ ],
62
+ exports: [
63
+ TableComponent
64
+ ]
65
+ }]
66
+ }] });
67
+
68
+ /*
69
+ * Public API Surface of windows-plus-utilities
70
+ */
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { TableComponent, TableModule };
77
+ //# sourceMappingURL=windows-plus-utilities-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-plus-utilities-table.mjs","sources":["../../../projects/windows-plus-utilities/table/components/table/table.component.ts","../../../projects/windows-plus-utilities/table/components/table/table.component.html","../../../projects/windows-plus-utilities/table/table.module.ts","../../../projects/windows-plus-utilities/table/public-api.ts","../../../projects/windows-plus-utilities/table/windows-plus-utilities-table.ts"],"sourcesContent":["import { Component, Input, OnInit, Output } from '@angular/core';\nimport { TableData } from '../../util/types/table-data/table-data.type'\n\n@Component({\n selector: 'wp-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.sass']\n})\nexport class TableComponent implements OnInit {\n\t/**\n\t * @description the identifier of the table element\n\t */\n\t@Input() id: string\n\t/**\n\t * @description the title of the table\n\t */\n\t@Input() title: string\n\t/**\n\t * @description the table headers\n\t */\n\t@Input() headers: string\n\t/**\n\t * @description the table data to be displayed\n\t */\n\t@Input() tableData: TableData[]\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\t/**\n\t * @author Alex Hodson\n\t * @description the method to be run when the component is rendered\n\t */\n\tngOnInit(): void {\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description identifies whether the given element is a string or number; If so, the element can be rendered normally\n\t * @param element the element to be checked\n\t * @returns whether the given element is a string or number\n\t */\n\tisString(element: TableData): boolean {\n\t\treturn typeof element === 'string' || typeof element === 'number' || element == null\n\t}\n}\n","<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableComponent } from './components/table/table.component';\nimport { CustomButtonModule } from 'windows-plus-form-fields/custom-button';\n\n@NgModule({\n declarations: [\n TableComponent\n ],\n imports: [\n\tCommonModule,\n\t\tCustomButtonModule,\n ],\n exports: [\n TableComponent\n ]\n})\nexport class TableModule { }\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/table/table.component';\r\nexport * from './util/interface/config/table-configuration.interface';\r\nexport * from './util/types/table-data/table-data.type';\r\nexport * from './table.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -246,6 +246,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
246
246
  }]
247
247
  }] });
248
248
 
249
+ class ReplacePipe {
250
+ /**
251
+ * @author Alex Hodson
252
+ * @description the entry point for the point which calls the format method and returns its value
253
+ * @param value the value of the HTML element
254
+ * @param replace the string to be replaced
255
+ * @param withThis the replacement string
256
+ * @returns the formatted value
257
+ */
258
+ transform(value, replace, withThis) {
259
+ return this.format(value, replace, withThis);
260
+ }
261
+ /**
262
+ * @author Alex Hodson
263
+ * @description replaces a substring with the given replacement in a value
264
+ * @param value the value of the HTML element
265
+ * @param replace the string to be replaced
266
+ * @param withThis the replacement string
267
+ * @returns the formatted value
268
+ */
269
+ format(value, replace, withThis) {
270
+ return value.replace(new RegExp(replace, 'g'), withThis);
271
+ }
272
+ }
273
+ ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
274
+ ReplacePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, name: "replace" });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, decorators: [{
276
+ type: Pipe,
277
+ args: [{
278
+ name: 'replace'
279
+ }]
280
+ }] });
281
+
282
+ class ReplaceModule {
283
+ }
284
+ ReplaceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
285
+ ReplaceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, declarations: [ReplacePipe], exports: [ReplacePipe] });
286
+ ReplaceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule });
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, decorators: [{
288
+ type: NgModule,
289
+ args: [{
290
+ imports: [],
291
+ declarations: [
292
+ ReplacePipe
293
+ ],
294
+ exports: [
295
+ ReplacePipe
296
+ ]
297
+ }]
298
+ }] });
299
+
249
300
  /*
250
301
  * Public API Surface of windows-plus-utilities
251
302
  */
@@ -254,5 +305,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
254
305
  * Generated bundle index. Do not edit.
255
306
  */
256
307
 
257
- export { BeautifyTextModule, BeautifyTextPipe, FormatDateModule, FormatDatePipe, FormatDateTimeModule, FormatDateTimePipe, capitalizeAll, capitalizeFirst, findSubstringIndex, joinWith, replaceAll, splitAt };
308
+ export { BeautifyTextModule, BeautifyTextPipe, FormatDateModule, FormatDatePipe, FormatDateTimeModule, FormatDateTimePipe, ReplaceModule, ReplacePipe, capitalizeAll, capitalizeFirst, findSubstringIndex, joinWith, replaceAll, splitAt };
258
309
  //# sourceMappingURL=windows-plus-utilities-util.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows-plus-utilities-util.mjs","sources":["../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.module.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.module.ts","../../../projects/windows-plus-utilities/util/helper/string/string-helper.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.module.ts","../../../projects/windows-plus-utilities/util/public-api.ts","../../../projects/windows-plus-utilities/util/windows-plus-utilities-util.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'beautify'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the beautify text pipe takes a string and formats it into a more visually pleasing format. The pipe will add a space before any capital letter\r\n * and then capitalise the first letter of the string\r\n */\r\nexport class BeautifyTextPipe implements PipeTransform {\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, args?: any): any {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given string. A space will be added before any capital letter and then the first letter is capitalised\r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string): string {\r\n\t\tconst replaceResult: string = text.replace(/([A-Z])/g, \" $1\").trim()\r\n\t\tconst output: string = replaceResult.charAt(0).toUpperCase() + replaceResult.slice(1)\r\n\r\n\t\treturn output\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { BeautifyTextPipe } from './beautify-text.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n BeautifyTextPipe\r\n ],\r\n exports: [\r\n BeautifyTextPipe\r\n ]\r\n})\r\nexport class BeautifyTextModule{}","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n\tname: 'formatDate'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date string into a user friendly UTC string\r\n */\r\nexport class FormatDatePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tif (text === '' || text === '-') return text\r\n\t\tconst date = new Date(text)\r\n\r\n\t\treturn date.toLocaleString('en-GB', {\r\n\t\t\tweekday: 'short', // long, short, narrow\r\n\t\t\tday: 'numeric', // numeric, 2-digit\r\n\t\t\tyear: 'numeric', // numeric, 2-digit\r\n\t\t\tmonth: 'long', // numeric, 2-digit, long, short, narrow\r\n\t\t})\r\n\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDatePipe } from './format-date.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDatePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDatePipe\r\n\t]\r\n})\r\nexport class FormatDateModule { }\r\n","/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing all letters\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\n export const capitalizeAll = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\treturn value.toUpperCase()\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing the first letter\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\nexport const capitalizeFirst = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst startingLetter = 0\r\n\tconst remainingIdx = 1\r\n\r\n\treturn value.charAt(startingLetter).toUpperCase() + value.slice(remainingIdx)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description splits the given string at the specified delimiter\r\n * @param {string} value the value to be split\r\n * @param {string} delimiter the value to be split at\r\n * @returns {string[]} the split value\r\n */\r\nexport const splitAt = (value: string, delimiter: string): string[] => {\r\n\tif (!value) return ['']\r\n\r\n\treturn value.split(delimiter)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description joins the given array using the specified delimiter\r\n * @param {string} delimiter the value to be joined with\r\n * @param {string[]} data the data to be joined\r\n * @returns {string} the joined value\r\n */\r\nexport const joinWith = (delimiter: string, data: string[] = []): string => data.join(delimiter)\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description replaces each substring of the value that matches the given target and replaces the match with the provided replacement value\r\n * @param {string} value the value to be modified\r\n * @param {string} target the value to be replaced\r\n * @param {string} replacement the replacement value\r\n * @returns {string} the modified value\r\n */\r\nexport const replaceAll = (value: string, target: string, replacement: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst regex = new RegExp(target, 'g')\r\n\r\n\treturn value.replace(regex, replacement)\r\n}\r\n/**\r\n * @author Alex Hodson\r\n * @description attempts to find the index of a given substring\r\n * @param {string} value the value to be searched\r\n * @param {string} target the value to be identified\r\n * @returns {number} the index of the target string within the given value\r\n */\r\nexport const findSubstringIndex = (value: string, target: string): number => {\r\n\tif (!value) return -1\r\n\r\n\treturn value.indexOf(target)\r\n}","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { format } from 'date-fns'\r\nimport { replaceAll } from '../../helper/string/string-helper'\r\n\r\n@Pipe({\r\n\tname: 'formatDateTime'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date time string into a user friendly UTC string\r\n */\r\nexport class FormatDateTimePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date time string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tconst date = new Date(replaceAll(text, 'Z', ''))\r\n\t\treturn format(date, 'E, d MMMM yyyy H:mm:ss')\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDateTimePipe } from './format-date-time.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDateTimePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDateTimePipe\r\n\t]\r\n})\r\nexport class FormatDateTimeModule { }\r\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\nexport * from './pipe/beautify-text/beautify-text.module'\r\nexport * from './pipe/beautify-text/beautify-text.pipe'\r\n\r\nexport * from './pipe/format-date/format-date.module'\r\nexport * from './pipe/format-date/format-date.pipe'\r\n\r\nexport * from './pipe/format-date-time/format-date-time.module'\r\nexport * from './pipe/format-date-time/format-date-time.pipe'\r\n\r\nexport * from './helper/string/string-helper'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows-plus-utilities-util.mjs","sources":["../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.module.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.module.ts","../../../projects/windows-plus-utilities/util/helper/string/string-helper.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.module.ts","../../../projects/windows-plus-utilities/util/pipe/replace/replace.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/replace/replace.module.ts","../../../projects/windows-plus-utilities/util/public-api.ts","../../../projects/windows-plus-utilities/util/windows-plus-utilities-util.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'beautify'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the beautify text pipe takes a string and formats it into a more visually pleasing format. The pipe will add a space before any capital letter\r\n * and then capitalise the first letter of the string\r\n */\r\nexport class BeautifyTextPipe implements PipeTransform {\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, args?: any): any {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given string. A space will be added before any capital letter and then the first letter is capitalised\r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string): string {\r\n\t\tconst replaceResult: string = text.replace(/([A-Z])/g, \" $1\").trim()\r\n\t\tconst output: string = replaceResult.charAt(0).toUpperCase() + replaceResult.slice(1)\r\n\r\n\t\treturn output\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { BeautifyTextPipe } from './beautify-text.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n BeautifyTextPipe\r\n ],\r\n exports: [\r\n BeautifyTextPipe\r\n ]\r\n})\r\nexport class BeautifyTextModule{}","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n\tname: 'formatDate'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date string into a user friendly UTC string\r\n */\r\nexport class FormatDatePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tif (text === '' || text === '-') return text\r\n\t\tconst date = new Date(text)\r\n\r\n\t\treturn date.toLocaleString('en-GB', {\r\n\t\t\tweekday: 'short', // long, short, narrow\r\n\t\t\tday: 'numeric', // numeric, 2-digit\r\n\t\t\tyear: 'numeric', // numeric, 2-digit\r\n\t\t\tmonth: 'long', // numeric, 2-digit, long, short, narrow\r\n\t\t})\r\n\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDatePipe } from './format-date.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDatePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDatePipe\r\n\t]\r\n})\r\nexport class FormatDateModule { }\r\n","/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing all letters\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\n export const capitalizeAll = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\treturn value.toUpperCase()\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing the first letter\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\nexport const capitalizeFirst = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst startingLetter = 0\r\n\tconst remainingIdx = 1\r\n\r\n\treturn value.charAt(startingLetter).toUpperCase() + value.slice(remainingIdx)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description splits the given string at the specified delimiter\r\n * @param {string} value the value to be split\r\n * @param {string} delimiter the value to be split at\r\n * @returns {string[]} the split value\r\n */\r\nexport const splitAt = (value: string, delimiter: string): string[] => {\r\n\tif (!value) return ['']\r\n\r\n\treturn value.split(delimiter)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description joins the given array using the specified delimiter\r\n * @param {string} delimiter the value to be joined with\r\n * @param {string[]} data the data to be joined\r\n * @returns {string} the joined value\r\n */\r\nexport const joinWith = (delimiter: string, data: string[] = []): string => data.join(delimiter)\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description replaces each substring of the value that matches the given target and replaces the match with the provided replacement value\r\n * @param {string} value the value to be modified\r\n * @param {string} target the value to be replaced\r\n * @param {string} replacement the replacement value\r\n * @returns {string} the modified value\r\n */\r\nexport const replaceAll = (value: string, target: string, replacement: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst regex = new RegExp(target, 'g')\r\n\r\n\treturn value.replace(regex, replacement)\r\n}\r\n/**\r\n * @author Alex Hodson\r\n * @description attempts to find the index of a given substring\r\n * @param {string} value the value to be searched\r\n * @param {string} target the value to be identified\r\n * @returns {number} the index of the target string within the given value\r\n */\r\nexport const findSubstringIndex = (value: string, target: string): number => {\r\n\tif (!value) return -1\r\n\r\n\treturn value.indexOf(target)\r\n}","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { format } from 'date-fns'\r\nimport { replaceAll } from '../../helper/string/string-helper'\r\n\r\n@Pipe({\r\n\tname: 'formatDateTime'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date time string into a user friendly UTC string\r\n */\r\nexport class FormatDateTimePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date time string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tconst date = new Date(replaceAll(text, 'Z', ''))\r\n\t\treturn format(date, 'E, d MMMM yyyy H:mm:ss')\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDateTimePipe } from './format-date-time.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDateTimePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDateTimePipe\r\n\t]\r\n})\r\nexport class FormatDateTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'replace'\n})\nexport class ReplacePipe implements PipeTransform {\n\t/**\n\t * @author Alex Hodson\n\t * @description the entry point for the point which calls the format method and returns its value\n\t * @param value the value of the HTML element\n\t * @param replace the string to be replaced\n\t * @param withThis the replacement string\n\t * @returns the formatted value\n\t */\n\ttransform(value: string, replace: string, withThis: string): string {\n\t\treturn this.format(value, replace, withThis)\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description replaces a substring with the given replacement in a value\n\t * @param value the value of the HTML element\n\t * @param replace the string to be replaced\n\t * @param withThis the replacement string\n\t * @returns the formatted value\n\t */\n\tprivate format(value: string, replace: string, withThis: string): string {\n\t\treturn value.replace(new RegExp(replace, 'g'), withThis)\n\t}\n}\n","import { NgModule } from '@angular/core'\r\nimport { ReplacePipe } from './replace.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n ReplacePipe\r\n ],\r\n exports: [\r\n ReplacePipe\r\n ]\r\n})\r\nexport class ReplaceModule{}","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\nexport * from './pipe/beautify-text/beautify-text.module'\r\nexport * from './pipe/beautify-text/beautify-text.pipe'\r\n\r\nexport * from './pipe/format-date/format-date.module'\r\nexport * from './pipe/format-date/format-date.pipe'\r\n\r\nexport * from './pipe/format-date-time/format-date-time.module'\r\nexport * from './pipe/format-date-time/format-date-time.pipe'\r\n\r\nexport * from './pipe/replace/replace.module'\r\nexport * from './pipe/replace/replace.pipe'\r\n\r\nexport * from './helper/string/string-helper'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from 'windows-plus-form-fields/custom-button';
6
+ import { CustomButtonModule } from 'windows-plus-form-fields/custom-button';
7
+
8
+ class TableComponent {
9
+ /**
10
+ * @author Alex Hodson
11
+ * @description class constructor specifying the required services and properties for the component
12
+ */
13
+ constructor() { }
14
+ /**
15
+ * @author Alex Hodson
16
+ * @description the method to be run when the component is rendered
17
+ */
18
+ ngOnInit() {
19
+ }
20
+ /**
21
+ * @author Alex Hodson
22
+ * @description identifies whether the given element is a string or number; If so, the element can be rendered normally
23
+ * @param element the element to be checked
24
+ * @returns whether the given element is a string or number
25
+ */
26
+ isString(element) {
27
+ return typeof element === 'string' || typeof element === 'number' || element == null;
28
+ }
29
+ }
30
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableComponent, selector: "wp-table", inputs: { id: "id", title: "title", headers: "headers", tableData: "tableData" }, ngImport: i0, template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CustomButtonComponent, selector: "wp-custom-button", inputs: ["value", "type", "colour", "id", "outline", "disabled", "icon"], outputs: ["handleClick"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'wp-table', template: "<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>", styles: [".scrollable-wrapper{max-height:400px;overflow-y:auto}.table-responsive{max-height:500px;width:100%;overflow-y:auto}table{table-layout:fixed}table .thead{font-size:14px;font-family:--wp-fontFamily}table .thead-blue th{background:var(--wp-secondaryBlue);color:#fff}table th{position:sticky;top:0}table .table-cell{font-size:14px;font-family:--wp-fontFamily;padding:5px}\n"] }]
35
+ }], ctorParameters: function () { return []; }, propDecorators: { id: [{
36
+ type: Input
37
+ }], title: [{
38
+ type: Input
39
+ }], headers: [{
40
+ type: Input
41
+ }], tableData: [{
42
+ type: Input
43
+ }] } });
44
+
45
+ class TableModule {
46
+ }
47
+ TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TableModule, declarations: [TableComponent], imports: [CommonModule,
49
+ CustomButtonModule], exports: [TableComponent] });
50
+ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, imports: [CommonModule,
51
+ CustomButtonModule] });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, decorators: [{
53
+ type: NgModule,
54
+ args: [{
55
+ declarations: [
56
+ TableComponent
57
+ ],
58
+ imports: [
59
+ CommonModule,
60
+ CustomButtonModule,
61
+ ],
62
+ exports: [
63
+ TableComponent
64
+ ]
65
+ }]
66
+ }] });
67
+
68
+ /*
69
+ * Public API Surface of windows-plus-utilities
70
+ */
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { TableComponent, TableModule };
77
+ //# sourceMappingURL=windows-plus-utilities-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-plus-utilities-table.mjs","sources":["../../../projects/windows-plus-utilities/table/components/table/table.component.ts","../../../projects/windows-plus-utilities/table/components/table/table.component.html","../../../projects/windows-plus-utilities/table/table.module.ts","../../../projects/windows-plus-utilities/table/public-api.ts","../../../projects/windows-plus-utilities/table/windows-plus-utilities-table.ts"],"sourcesContent":["import { Component, Input, OnInit, Output } from '@angular/core';\nimport { TableData } from '../../util/types/table-data/table-data.type'\n\n@Component({\n selector: 'wp-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.sass']\n})\nexport class TableComponent implements OnInit {\n\t/**\n\t * @description the identifier of the table element\n\t */\n\t@Input() id: string\n\t/**\n\t * @description the title of the table\n\t */\n\t@Input() title: string\n\t/**\n\t * @description the table headers\n\t */\n\t@Input() headers: string\n\t/**\n\t * @description the table data to be displayed\n\t */\n\t@Input() tableData: TableData[]\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\t/**\n\t * @author Alex Hodson\n\t * @description the method to be run when the component is rendered\n\t */\n\tngOnInit(): void {\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description identifies whether the given element is a string or number; If so, the element can be rendered normally\n\t * @param element the element to be checked\n\t * @returns whether the given element is a string or number\n\t */\n\tisString(element: TableData): boolean {\n\t\treturn typeof element === 'string' || typeof element === 'number' || element == null\n\t}\n}\n","<div>\n\t<h2 class=\"lead\">{{title}}</h2>\n\t<div *ngIf=\"tableData.length > 0 then tableBlock else emptyBlock\"></div>\n\t<ng-template #tableBlock>\n\t\t<div class=\"scrollable-wrapper\">\n\t\t\t<table [id]=\"id\" class=\"table table-responsive\">\n\t\t\t\t<thead class=\"thead thead-blue\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th *ngFor=\"let header of headers\">{{header}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr *ngFor=\"let row of tableData\">\n\t\t\t\t\t\t<td class=\"table-cell text-grey\" *ngFor=\"let header of headers\">\n\t\t\t\t\t\t\t<ng-container [ngSwitch]=\"true\">\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"isString(row[header])\">\n\t\t\t\t\t\t\t\t\t{{row[header]}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div *ngSwitchCase=\"!isString(row[header])\">\n\t\t\t\t\t\t\t\t\t<wp-custom-button \n\t\t\t\t\t\t\t\t\t\t[id]=\"row[header].id\"\n\t\t\t\t\t\t\t\t\t\t[value]=\"row[header].value\"\n\t\t\t\t\t\t\t\t\t\t[type]=\"row[header].type\"\n\t\t\t\t\t\t\t\t\t\t[colour]=\"row[header].colour\"\n\t\t\t\t\t\t\t\t\t\t[outline]=\"row[header].outline\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"row[header].disabled\"\n\t\t\t\t\t\t\t\t\t\t[icon]=\"row[header].icon\"\n\t\t\t\t\t\t\t\t\t\t(handleClick)=\"row[header].handleClick($event)\"\n\t\t\t\t\t\t\t\t\t></wp-custom-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #emptyBlock>\n\t\t<p class=\"text-grey\">There is no data to show</p>\n\t</ng-template>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableComponent } from './components/table/table.component';\nimport { CustomButtonModule } from 'windows-plus-form-fields/custom-button';\n\n@NgModule({\n declarations: [\n TableComponent\n ],\n imports: [\n\tCommonModule,\n\t\tCustomButtonModule,\n ],\n exports: [\n TableComponent\n ]\n})\nexport class TableModule { }\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/table/table.component';\r\nexport * from './util/interface/config/table-configuration.interface';\r\nexport * from './util/types/table-data/table-data.type';\r\nexport * from './table.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAQa,cAAc,CAAA;AAiB1B;;;AAGG;AACH,IAAA,WAAA,GAAA,GAAiB;AACjB;;;AAGG;IACH,QAAQ,GAAA;KACP;AACD;;;;;AAKG;AACH,IAAA,QAAQ,CAAC,OAAkB,EAAA;AAC1B,QAAA,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAA;KACpF;;4GApCW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,kICR3B,kiDAwCM,EAAA,MAAA,EAAA,CAAA,mXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCO,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,kiDAAA,EAAA,MAAA,EAAA,CAAA,mXAAA,CAAA,EAAA,CAAA;0EAQZ,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAIG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAIG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEPM,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAX,WAAW,EAAA,YAAA,EAAA,CAVpB,cAAc,CAAA,EAAA,OAAA,EAAA,CAGjB,YAAY;AACX,QAAA,kBAAkB,aAGhB,cAAc,CAAA,EAAA,CAAA,CAAA;AAGL,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAPvB,YAAY;QACX,kBAAkB,CAAA,EAAA,CAAA,CAAA;4FAMP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACV,YAAY;wBACX,kBAAkB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;AACF,iBAAA,CAAA;;;AChBD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -246,6 +246,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
246
246
  }]
247
247
  }] });
248
248
 
249
+ class ReplacePipe {
250
+ /**
251
+ * @author Alex Hodson
252
+ * @description the entry point for the point which calls the format method and returns its value
253
+ * @param value the value of the HTML element
254
+ * @param replace the string to be replaced
255
+ * @param withThis the replacement string
256
+ * @returns the formatted value
257
+ */
258
+ transform(value, replace, withThis) {
259
+ return this.format(value, replace, withThis);
260
+ }
261
+ /**
262
+ * @author Alex Hodson
263
+ * @description replaces a substring with the given replacement in a value
264
+ * @param value the value of the HTML element
265
+ * @param replace the string to be replaced
266
+ * @param withThis the replacement string
267
+ * @returns the formatted value
268
+ */
269
+ format(value, replace, withThis) {
270
+ return value.replace(new RegExp(replace, 'g'), withThis);
271
+ }
272
+ }
273
+ ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
274
+ ReplacePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, name: "replace" });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplacePipe, decorators: [{
276
+ type: Pipe,
277
+ args: [{
278
+ name: 'replace'
279
+ }]
280
+ }] });
281
+
282
+ class ReplaceModule {
283
+ }
284
+ ReplaceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
285
+ ReplaceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, declarations: [ReplacePipe], exports: [ReplacePipe] });
286
+ ReplaceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule });
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReplaceModule, decorators: [{
288
+ type: NgModule,
289
+ args: [{
290
+ imports: [],
291
+ declarations: [
292
+ ReplacePipe
293
+ ],
294
+ exports: [
295
+ ReplacePipe
296
+ ]
297
+ }]
298
+ }] });
299
+
249
300
  /*
250
301
  * Public API Surface of windows-plus-utilities
251
302
  */
@@ -254,5 +305,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
254
305
  * Generated bundle index. Do not edit.
255
306
  */
256
307
 
257
- export { BeautifyTextModule, BeautifyTextPipe, FormatDateModule, FormatDatePipe, FormatDateTimeModule, FormatDateTimePipe, capitalizeAll, capitalizeFirst, findSubstringIndex, joinWith, replaceAll, splitAt };
308
+ export { BeautifyTextModule, BeautifyTextPipe, FormatDateModule, FormatDatePipe, FormatDateTimeModule, FormatDateTimePipe, ReplaceModule, ReplacePipe, capitalizeAll, capitalizeFirst, findSubstringIndex, joinWith, replaceAll, splitAt };
258
309
  //# sourceMappingURL=windows-plus-utilities-util.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows-plus-utilities-util.mjs","sources":["../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.module.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.module.ts","../../../projects/windows-plus-utilities/util/helper/string/string-helper.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.module.ts","../../../projects/windows-plus-utilities/util/public-api.ts","../../../projects/windows-plus-utilities/util/windows-plus-utilities-util.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'beautify'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the beautify text pipe takes a string and formats it into a more visually pleasing format. The pipe will add a space before any capital letter\r\n * and then capitalise the first letter of the string\r\n */\r\nexport class BeautifyTextPipe implements PipeTransform {\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, args?: any): any {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given string. A space will be added before any capital letter and then the first letter is capitalised\r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string): string {\r\n\t\tconst replaceResult: string = text.replace(/([A-Z])/g, \" $1\").trim()\r\n\t\tconst output: string = replaceResult.charAt(0).toUpperCase() + replaceResult.slice(1)\r\n\r\n\t\treturn output\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { BeautifyTextPipe } from './beautify-text.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n BeautifyTextPipe\r\n ],\r\n exports: [\r\n BeautifyTextPipe\r\n ]\r\n})\r\nexport class BeautifyTextModule{}","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n\tname: 'formatDate'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date string into a user friendly UTC string\r\n */\r\nexport class FormatDatePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tif (text === '' || text === '-') return text\r\n\t\tconst date = new Date(text)\r\n\r\n\t\treturn date.toLocaleString('en-GB', {\r\n\t\t\tweekday: 'short', // long, short, narrow\r\n\t\t\tday: 'numeric', // numeric, 2-digit\r\n\t\t\tyear: 'numeric', // numeric, 2-digit\r\n\t\t\tmonth: 'long', // numeric, 2-digit, long, short, narrow\r\n\t\t})\r\n\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDatePipe } from './format-date.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDatePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDatePipe\r\n\t]\r\n})\r\nexport class FormatDateModule { }\r\n","/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing all letters\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\n export const capitalizeAll = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\treturn value.toUpperCase()\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing the first letter\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\nexport const capitalizeFirst = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst startingLetter = 0\r\n\tconst remainingIdx = 1\r\n\r\n\treturn value.charAt(startingLetter).toUpperCase() + value.slice(remainingIdx)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description splits the given string at the specified delimiter\r\n * @param {string} value the value to be split\r\n * @param {string} delimiter the value to be split at\r\n * @returns {string[]} the split value\r\n */\r\nexport const splitAt = (value: string, delimiter: string): string[] => {\r\n\tif (!value) return ['']\r\n\r\n\treturn value.split(delimiter)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description joins the given array using the specified delimiter\r\n * @param {string} delimiter the value to be joined with\r\n * @param {string[]} data the data to be joined\r\n * @returns {string} the joined value\r\n */\r\nexport const joinWith = (delimiter: string, data: string[] = []): string => data.join(delimiter)\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description replaces each substring of the value that matches the given target and replaces the match with the provided replacement value\r\n * @param {string} value the value to be modified\r\n * @param {string} target the value to be replaced\r\n * @param {string} replacement the replacement value\r\n * @returns {string} the modified value\r\n */\r\nexport const replaceAll = (value: string, target: string, replacement: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst regex = new RegExp(target, 'g')\r\n\r\n\treturn value.replace(regex, replacement)\r\n}\r\n/**\r\n * @author Alex Hodson\r\n * @description attempts to find the index of a given substring\r\n * @param {string} value the value to be searched\r\n * @param {string} target the value to be identified\r\n * @returns {number} the index of the target string within the given value\r\n */\r\nexport const findSubstringIndex = (value: string, target: string): number => {\r\n\tif (!value) return -1\r\n\r\n\treturn value.indexOf(target)\r\n}","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { format } from 'date-fns'\r\nimport { replaceAll } from '../../helper/string/string-helper'\r\n\r\n@Pipe({\r\n\tname: 'formatDateTime'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date time string into a user friendly UTC string\r\n */\r\nexport class FormatDateTimePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date time string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tconst date = new Date(replaceAll(text, 'Z', ''))\r\n\t\treturn format(date, 'E, d MMMM yyyy H:mm:ss')\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDateTimePipe } from './format-date-time.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDateTimePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDateTimePipe\r\n\t]\r\n})\r\nexport class FormatDateTimeModule { }\r\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\nexport * from './pipe/beautify-text/beautify-text.module'\r\nexport * from './pipe/beautify-text/beautify-text.pipe'\r\n\r\nexport * from './pipe/format-date/format-date.module'\r\nexport * from './pipe/format-date/format-date.pipe'\r\n\r\nexport * from './pipe/format-date-time/format-date-time.module'\r\nexport * from './pipe/format-date-time/format-date-time.pipe'\r\n\r\nexport * from './helper/string/string-helper'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows-plus-utilities-util.mjs","sources":["../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/beautify-text/beautify-text.module.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date/format-date.module.ts","../../../projects/windows-plus-utilities/util/helper/string/string-helper.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/format-date-time/format-date-time.module.ts","../../../projects/windows-plus-utilities/util/pipe/replace/replace.pipe.ts","../../../projects/windows-plus-utilities/util/pipe/replace/replace.module.ts","../../../projects/windows-plus-utilities/util/public-api.ts","../../../projects/windows-plus-utilities/util/windows-plus-utilities-util.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'beautify'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the beautify text pipe takes a string and formats it into a more visually pleasing format. The pipe will add a space before any capital letter\r\n * and then capitalise the first letter of the string\r\n */\r\nexport class BeautifyTextPipe implements PipeTransform {\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, args?: any): any {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given string. A space will be added before any capital letter and then the first letter is capitalised\r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string): string {\r\n\t\tconst replaceResult: string = text.replace(/([A-Z])/g, \" $1\").trim()\r\n\t\tconst output: string = replaceResult.charAt(0).toUpperCase() + replaceResult.slice(1)\r\n\r\n\t\treturn output\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { BeautifyTextPipe } from './beautify-text.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n BeautifyTextPipe\r\n ],\r\n exports: [\r\n BeautifyTextPipe\r\n ]\r\n})\r\nexport class BeautifyTextModule{}","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n\tname: 'formatDate'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date string into a user friendly UTC string\r\n */\r\nexport class FormatDatePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tif (text === '' || text === '-') return text\r\n\t\tconst date = new Date(text)\r\n\r\n\t\treturn date.toLocaleString('en-GB', {\r\n\t\t\tweekday: 'short', // long, short, narrow\r\n\t\t\tday: 'numeric', // numeric, 2-digit\r\n\t\t\tyear: 'numeric', // numeric, 2-digit\r\n\t\t\tmonth: 'long', // numeric, 2-digit, long, short, narrow\r\n\t\t})\r\n\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDatePipe } from './format-date.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDatePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDatePipe\r\n\t]\r\n})\r\nexport class FormatDateModule { }\r\n","/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing all letters\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\n export const capitalizeAll = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\treturn value.toUpperCase()\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description modifies the given value by capitalizing the first letter\r\n * @param {string} value the value to be modified\r\n * @returns {string} the modified value\r\n */\r\nexport const capitalizeFirst = (value: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst startingLetter = 0\r\n\tconst remainingIdx = 1\r\n\r\n\treturn value.charAt(startingLetter).toUpperCase() + value.slice(remainingIdx)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description splits the given string at the specified delimiter\r\n * @param {string} value the value to be split\r\n * @param {string} delimiter the value to be split at\r\n * @returns {string[]} the split value\r\n */\r\nexport const splitAt = (value: string, delimiter: string): string[] => {\r\n\tif (!value) return ['']\r\n\r\n\treturn value.split(delimiter)\r\n}\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description joins the given array using the specified delimiter\r\n * @param {string} delimiter the value to be joined with\r\n * @param {string[]} data the data to be joined\r\n * @returns {string} the joined value\r\n */\r\nexport const joinWith = (delimiter: string, data: string[] = []): string => data.join(delimiter)\r\n\r\n/**\r\n * @author Alex Hodson\r\n * @description replaces each substring of the value that matches the given target and replaces the match with the provided replacement value\r\n * @param {string} value the value to be modified\r\n * @param {string} target the value to be replaced\r\n * @param {string} replacement the replacement value\r\n * @returns {string} the modified value\r\n */\r\nexport const replaceAll = (value: string, target: string, replacement: string): string => {\r\n\tif (!value) return ''\r\n\r\n\tconst regex = new RegExp(target, 'g')\r\n\r\n\treturn value.replace(regex, replacement)\r\n}\r\n/**\r\n * @author Alex Hodson\r\n * @description attempts to find the index of a given substring\r\n * @param {string} value the value to be searched\r\n * @param {string} target the value to be identified\r\n * @returns {number} the index of the target string within the given value\r\n */\r\nexport const findSubstringIndex = (value: string, target: string): number => {\r\n\tif (!value) return -1\r\n\r\n\treturn value.indexOf(target)\r\n}","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { format } from 'date-fns'\r\nimport { replaceAll } from '../../helper/string/string-helper'\r\n\r\n@Pipe({\r\n\tname: 'formatDateTime'\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description a pipe which formats a given date time string into a user friendly UTC string\r\n */\r\nexport class FormatDateTimePipe implements PipeTransform {\r\n\t\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the entry point for the point which calls the format method and returns its value\r\n\t * @param value the value of the HTML element\r\n\t * @param args any extra arguments passed\r\n\t * @returns the formatted value\r\n\t */\r\n\ttransform(value: string, ...args: unknown[]): string {\r\n\t\treturn this.format(value)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description formats the given date time string into a UTC string \r\n\t * @param text the text to be formatted\r\n\t * @returns the formatted value\r\n\t */\r\n\tprivate format(text: string) {\r\n\t\tconst date = new Date(replaceAll(text, 'Z', ''))\r\n\t\treturn format(date, 'E, d MMMM yyyy H:mm:ss')\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormatDateTimePipe } from './format-date-time.pipe'\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\t\tFormatDateTimePipe\r\n\t],\r\n imports: [\r\n CommonModule\r\n ],\r\n\texports: [\r\n\t\tFormatDateTimePipe\r\n\t]\r\n})\r\nexport class FormatDateTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'replace'\n})\nexport class ReplacePipe implements PipeTransform {\n\t/**\n\t * @author Alex Hodson\n\t * @description the entry point for the point which calls the format method and returns its value\n\t * @param value the value of the HTML element\n\t * @param replace the string to be replaced\n\t * @param withThis the replacement string\n\t * @returns the formatted value\n\t */\n\ttransform(value: string, replace: string, withThis: string): string {\n\t\treturn this.format(value, replace, withThis)\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description replaces a substring with the given replacement in a value\n\t * @param value the value of the HTML element\n\t * @param replace the string to be replaced\n\t * @param withThis the replacement string\n\t * @returns the formatted value\n\t */\n\tprivate format(value: string, replace: string, withThis: string): string {\n\t\treturn value.replace(new RegExp(replace, 'g'), withThis)\n\t}\n}\n","import { NgModule } from '@angular/core'\r\nimport { ReplacePipe } from './replace.pipe'\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ \r\n ReplacePipe\r\n ],\r\n exports: [\r\n ReplacePipe\r\n ]\r\n})\r\nexport class ReplaceModule{}","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\nexport * from './pipe/beautify-text/beautify-text.module'\r\nexport * from './pipe/beautify-text/beautify-text.pipe'\r\n\r\nexport * from './pipe/format-date/format-date.module'\r\nexport * from './pipe/format-date/format-date.pipe'\r\n\r\nexport * from './pipe/format-date-time/format-date-time.module'\r\nexport * from './pipe/format-date-time/format-date-time.pipe'\r\n\r\nexport * from './pipe/replace/replace.module'\r\nexport * from './pipe/replace/replace.pipe'\r\n\r\nexport * from './helper/string/string-helper'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-plus-utilities",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.12",
6
6
  "@angular/core": "^14.2.12",
@@ -8,7 +8,8 @@
8
8
  "@fortawesome/fontawesome-svg-core": "^6.2.1",
9
9
  "@fortawesome/free-solid-svg-icons": "^6.2.1",
10
10
  "date-fns": "^2.29.3",
11
- "windows-plus-theme": "^1.0.8"
11
+ "windows-plus-theme": "^1.0.8",
12
+ "windows-plus-form-fields": "^0.0.26"
12
13
  },
13
14
  "dependencies": {
14
15
  "tslib": "^2.3.0"
@@ -55,6 +56,14 @@
55
56
  "node": "./fesm2015/windows-plus-utilities-section-header.mjs",
56
57
  "default": "./fesm2020/windows-plus-utilities-section-header.mjs"
57
58
  },
59
+ "./table": {
60
+ "types": "./table/index.d.ts",
61
+ "esm2020": "./esm2020/table/windows-plus-utilities-table.mjs",
62
+ "es2020": "./fesm2020/windows-plus-utilities-table.mjs",
63
+ "es2015": "./fesm2015/windows-plus-utilities-table.mjs",
64
+ "node": "./fesm2015/windows-plus-utilities-table.mjs",
65
+ "default": "./fesm2020/windows-plus-utilities-table.mjs"
66
+ },
58
67
  "./util": {
59
68
  "types": "./util/index.d.ts",
60
69
  "esm2020": "./esm2020/util/windows-plus-utilities-util.mjs",
@@ -0,0 +1,40 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { TableData } from '../../util/types/table-data/table-data.type';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TableComponent implements OnInit {
5
+ /**
6
+ * @description the identifier of the table element
7
+ */
8
+ id: string;
9
+ /**
10
+ * @description the title of the table
11
+ */
12
+ title: string;
13
+ /**
14
+ * @description the table headers
15
+ */
16
+ headers: string;
17
+ /**
18
+ * @description the table data to be displayed
19
+ */
20
+ tableData: TableData[];
21
+ /**
22
+ * @author Alex Hodson
23
+ * @description class constructor specifying the required services and properties for the component
24
+ */
25
+ constructor();
26
+ /**
27
+ * @author Alex Hodson
28
+ * @description the method to be run when the component is rendered
29
+ */
30
+ ngOnInit(): void;
31
+ /**
32
+ * @author Alex Hodson
33
+ * @description identifies whether the given element is a string or number; If so, the element can be rendered normally
34
+ * @param element the element to be checked
35
+ * @returns whether the given element is a string or number
36
+ */
37
+ isString(element: TableData): boolean;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "wp-table", never, { "id": "id"; "title": "title"; "headers": "headers"; "tableData": "tableData"; }, {}, never, never, false>;
40
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="windows-plus-utilities/table" />
5
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ export * from './components/table/table.component';
2
+ export * from './util/interface/config/table-configuration.interface';
3
+ export * from './util/types/table-data/table-data.type';
4
+ export * from './table.module';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./components/table/table.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "windows-plus-form-fields/custom-button";
5
+ export declare class TableModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TableModule, [typeof i1.TableComponent], [typeof i2.CommonModule, typeof i3.CustomButtonModule], [typeof i1.TableComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<TableModule>;
9
+ }
@@ -0,0 +1,12 @@
1
+ import { TableData } from '../../types/table-data/table-data.type';
2
+ /**
3
+ * @author Alex Hodson
4
+ * @description an interface which defines the properties required by the table
5
+ */
6
+ export interface TableConfiguration {
7
+ 'id': string;
8
+ 'title': string;
9
+ 'headers': string[];
10
+ 'tableData': TableData[];
11
+ 'condition'?: (...args: any[]) => boolean;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { CustomButtonConfig } from 'windows-plus-form-fields/custom-button';
2
+ /**
3
+ * @author Alex Hodson
4
+ * @description a union type which defines the available types for a tables data
5
+ */
6
+ export declare type TableData = {
7
+ [key: string]: CustomButtonConfig | string | number;
8
+ };
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./replace.pipe";
3
+ export declare class ReplaceModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReplaceModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ReplaceModule, [typeof i1.ReplacePipe], never, [typeof i1.ReplacePipe]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<ReplaceModule>;
7
+ }
@@ -0,0 +1,24 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ReplacePipe implements PipeTransform {
4
+ /**
5
+ * @author Alex Hodson
6
+ * @description the entry point for the point which calls the format method and returns its value
7
+ * @param value the value of the HTML element
8
+ * @param replace the string to be replaced
9
+ * @param withThis the replacement string
10
+ * @returns the formatted value
11
+ */
12
+ transform(value: string, replace: string, withThis: string): string;
13
+ /**
14
+ * @author Alex Hodson
15
+ * @description replaces a substring with the given replacement in a value
16
+ * @param value the value of the HTML element
17
+ * @param replace the string to be replaced
18
+ * @param withThis the replacement string
19
+ * @returns the formatted value
20
+ */
21
+ private format;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReplacePipe, never>;
23
+ static ɵpipe: i0.ɵɵPipeDeclaration<ReplacePipe, "replace", false>;
24
+ }
@@ -4,4 +4,6 @@ export * from './pipe/format-date/format-date.module';
4
4
  export * from './pipe/format-date/format-date.pipe';
5
5
  export * from './pipe/format-date-time/format-date-time.module';
6
6
  export * from './pipe/format-date-time/format-date-time.pipe';
7
+ export * from './pipe/replace/replace.module';
8
+ export * from './pipe/replace/replace.pipe';
7
9
  export * from './helper/string/string-helper';