@posiwise/resource-contact-us 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.mjs +4 -10
- package/esm2022/lib/demo-cards/demo-cards.component.mjs +101 -0
- package/esm2022/lib/demo-cards/demo-cards.module.mjs +44 -0
- package/esm2022/lib/resource-contact-us/resource-contact-us.component.mjs +3 -3
- package/esm2022/lib/resource-contact-us/resource-contact-us.module.mjs +94 -0
- package/esm2022/lib/shared/resource-modal.interface.mjs +1 -1
- package/fesm2022/posiwise-resource-contact-us.mjs +159 -465
- package/fesm2022/posiwise-resource-contact-us.mjs.map +1 -1
- package/index.d.ts +3 -9
- package/lib/demo-cards/demo-cards.component.d.ts +33 -0
- package/lib/demo-cards/demo-cards.module.d.ts +14 -0
- package/lib/resource-contact-us/resource-contact-us.component.d.ts +1 -1
- package/lib/resource-contact-us/resource-contact-us.module.d.ts +17 -0
- package/package.json +1 -1
- package/esm2022/lib/custom-uploader/custom-uploader.component.mjs +0 -107
- package/esm2022/lib/field-error-display/field-error-display.component.mjs +0 -16
- package/esm2022/lib/field-error-display/field-error-display.module.mjs +0 -23
- package/esm2022/lib/image-cropper/image-cropper.component.mjs +0 -92
- package/esm2022/lib/image-cropper/profile-image-cropper.module.mjs +0 -45
- package/esm2022/lib/resource-contact-us/shared-contact-us.module.mjs +0 -28
- package/esm2022/lib/resource-header/edit-navbar-modal.component.mjs +0 -195
- package/esm2022/lib/resource-header/resource-header.component.mjs +0 -225
- package/esm2022/lib/resource-header/shared-header.module.mjs +0 -34
- package/fesm2022/posiwise-resource-contact-us-edit-navbar-modal.component-jSKqyC6g.mjs +0 -197
- package/fesm2022/posiwise-resource-contact-us-edit-navbar-modal.component-jSKqyC6g.mjs.map +0 -1
- package/lib/custom-uploader/custom-uploader.component.d.ts +0 -35
- package/lib/field-error-display/field-error-display.component.d.ts +0 -7
- package/lib/field-error-display/field-error-display.module.d.ts +0 -13
- package/lib/image-cropper/image-cropper.component.d.ts +0 -30
- package/lib/image-cropper/profile-image-cropper.module.d.ts +0 -19
- package/lib/resource-contact-us/shared-contact-us.module.d.ts +0 -17
- package/lib/resource-header/edit-navbar-modal.component.d.ts +0 -22
- package/lib/resource-header/resource-header.component.d.ts +0 -46
- package/lib/resource-header/shared-header.module.d.ts +0 -15
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/forms';
|
|
4
|
-
import { FormsModule } from '@angular/forms';
|
|
5
|
-
import * as i7 from '@angular/common';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import * as i3 from '@angular/cdk/drag-drop';
|
|
8
|
-
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Edit Navbar Modal Component
|
|
12
|
-
* Contains drag-drop functionality for reordering navbar items
|
|
13
|
-
* This component is lazy-loaded only when the edit modal is opened
|
|
14
|
-
*/
|
|
15
|
-
class EditNavbarModalComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.save = new EventEmitter();
|
|
18
|
-
this.close = new EventEmitter();
|
|
19
|
-
}
|
|
20
|
-
dropNavbarItems(event) {
|
|
21
|
-
moveItemInArray(this.editingNavbar.items, event.previousIndex, event.currentIndex);
|
|
22
|
-
}
|
|
23
|
-
dropNavbarSubtitles(index, event) {
|
|
24
|
-
moveItemInArray(this.editingNavbar.items[index].subtitles, event.previousIndex, event.currentIndex);
|
|
25
|
-
}
|
|
26
|
-
addNavbarItem() {
|
|
27
|
-
this.editingNavbar.items.push({
|
|
28
|
-
title: '',
|
|
29
|
-
path: '',
|
|
30
|
-
subtitles: []
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
removeNavbarItem(index) {
|
|
34
|
-
this.editingNavbar.items.splice(index, 1);
|
|
35
|
-
}
|
|
36
|
-
addNavbarSubtitle(index) {
|
|
37
|
-
this.editingNavbar.items[index].subtitles.push({
|
|
38
|
-
title: '',
|
|
39
|
-
path: ''
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
removeNavbarSubtitle(navIndex, subIndex) {
|
|
43
|
-
this.editingNavbar.items[navIndex].subtitles.splice(subIndex, 1);
|
|
44
|
-
}
|
|
45
|
-
onSave() {
|
|
46
|
-
this.save.emit(this.editingNavbar);
|
|
47
|
-
}
|
|
48
|
-
onClose() {
|
|
49
|
-
this.close.emit();
|
|
50
|
-
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EditNavbarModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: EditNavbarModalComponent, isStandalone: true, selector: "pw-edit-navbar-modal", inputs: { editingNavbar: "editingNavbar" }, outputs: { save: "save", close: "close" }, ngImport: i0, template: `
|
|
53
|
-
<div class="modal-header">
|
|
54
|
-
<h5 class="modal-title">Edit Navbar Links</h5>
|
|
55
|
-
<button type="button" class="btn-close" aria-label="Close" (click)="onClose()"></button>
|
|
56
|
-
</div>
|
|
57
|
-
|
|
58
|
-
<div class="modal-body">
|
|
59
|
-
<h4 class="mb-3">Navbar Section</h4>
|
|
60
|
-
<div cdkDropList (cdkDropListDropped)="dropNavbarItems($event)">
|
|
61
|
-
<div *ngFor="let item of editingNavbar.items; let i = index" class="border p-3 mb-3" cdkDrag>
|
|
62
|
-
<div class="row">
|
|
63
|
-
<div class="col-md-5 mb-2">
|
|
64
|
-
<label [for]="'navbarTitle' + i" class="form-label">Title</label>
|
|
65
|
-
<input [id]="'navbarTitle' + i" class="form-control" [(ngModel)]="item.title" />
|
|
66
|
-
</div>
|
|
67
|
-
<div class="col-md-5 mb-2">
|
|
68
|
-
<label [for]="'navbarPath' + i" class="form-label">Path</label>
|
|
69
|
-
<input [id]="'navbarPath' + i" class="form-control" [(ngModel)]="item.path" />
|
|
70
|
-
</div>
|
|
71
|
-
<div class="col-md-2 d-flex justify-content-between align-items-center mt-4">
|
|
72
|
-
<i class="fa fa-trash in-page-trash-icon text-danger cursor-pointer"
|
|
73
|
-
(click)="removeNavbarItem(i)"
|
|
74
|
-
(keydown.enter)="removeNavbarItem(i)"
|
|
75
|
-
(keydown.space)="removeNavbarItem(i)"></i>
|
|
76
|
-
<i class="fa fa-bars in-page-bars-icon cursor-pointer" cdkDragHandle></i>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
|
|
80
|
-
<div cdkDropList (cdkDropListDropped)="dropNavbarSubtitles(i, $event)">
|
|
81
|
-
<div *ngFor="let sub of item.subtitles; let j = index" class="row border p-3 mb-2 align-items-center" cdkDrag>
|
|
82
|
-
<div class="col-md-5">
|
|
83
|
-
<label [for]="'navbarSubtitleTitle' + i + j" class="form-label">Subtitle Title</label>
|
|
84
|
-
<input [id]="'navbarSubtitleTitle' + i + j" class="form-control" [(ngModel)]="sub.title" />
|
|
85
|
-
</div>
|
|
86
|
-
<div class="col-md-5">
|
|
87
|
-
<label [for]="'navbarSubtitlePath' + i + j" class="form-label">Subtitle Path</label>
|
|
88
|
-
<input [id]="'navbarSubtitlePath' + i + j" class="form-control" [(ngModel)]="sub.path" />
|
|
89
|
-
</div>
|
|
90
|
-
<div class="col-md-2 d-flex justify-content-between align-items-center mt-4">
|
|
91
|
-
<i class="fa fa-trash in-page-trash-icon text-danger cursor-pointer"
|
|
92
|
-
(click)="removeNavbarSubtitle(i, j)"
|
|
93
|
-
(keydown.enter)="removeNavbarSubtitle(i, j)"
|
|
94
|
-
(keydown.space)="removeNavbarSubtitle(i, j)"></i>
|
|
95
|
-
<i class="fa fa-bars in-page-bars-icon cursor-pointer" cdkDragHandle></i>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<button class="btn btn-outline-primary btn-sm mt-2" (click)="addNavbarSubtitle(i)">
|
|
101
|
-
+ Add Subtitle
|
|
102
|
-
</button>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
<button class="btn btn-primary mt-3" (click)="addNavbarItem()">
|
|
107
|
-
+ Add Navbar Item
|
|
108
|
-
</button>
|
|
109
|
-
</div>
|
|
110
|
-
|
|
111
|
-
<div class="modal-footer">
|
|
112
|
-
<button class="btn btn-secondary" (click)="onClose()">Cancel</button>
|
|
113
|
-
<button class="btn btn-primary" (click)="onSave()">Save</button>
|
|
114
|
-
</div>
|
|
115
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
116
|
-
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EditNavbarModalComponent, decorators: [{
|
|
118
|
-
type: Component,
|
|
119
|
-
args: [{
|
|
120
|
-
selector: 'pw-edit-navbar-modal',
|
|
121
|
-
standalone: true,
|
|
122
|
-
imports: [CommonModule, FormsModule, DragDropModule],
|
|
123
|
-
template: `
|
|
124
|
-
<div class="modal-header">
|
|
125
|
-
<h5 class="modal-title">Edit Navbar Links</h5>
|
|
126
|
-
<button type="button" class="btn-close" aria-label="Close" (click)="onClose()"></button>
|
|
127
|
-
</div>
|
|
128
|
-
|
|
129
|
-
<div class="modal-body">
|
|
130
|
-
<h4 class="mb-3">Navbar Section</h4>
|
|
131
|
-
<div cdkDropList (cdkDropListDropped)="dropNavbarItems($event)">
|
|
132
|
-
<div *ngFor="let item of editingNavbar.items; let i = index" class="border p-3 mb-3" cdkDrag>
|
|
133
|
-
<div class="row">
|
|
134
|
-
<div class="col-md-5 mb-2">
|
|
135
|
-
<label [for]="'navbarTitle' + i" class="form-label">Title</label>
|
|
136
|
-
<input [id]="'navbarTitle' + i" class="form-control" [(ngModel)]="item.title" />
|
|
137
|
-
</div>
|
|
138
|
-
<div class="col-md-5 mb-2">
|
|
139
|
-
<label [for]="'navbarPath' + i" class="form-label">Path</label>
|
|
140
|
-
<input [id]="'navbarPath' + i" class="form-control" [(ngModel)]="item.path" />
|
|
141
|
-
</div>
|
|
142
|
-
<div class="col-md-2 d-flex justify-content-between align-items-center mt-4">
|
|
143
|
-
<i class="fa fa-trash in-page-trash-icon text-danger cursor-pointer"
|
|
144
|
-
(click)="removeNavbarItem(i)"
|
|
145
|
-
(keydown.enter)="removeNavbarItem(i)"
|
|
146
|
-
(keydown.space)="removeNavbarItem(i)"></i>
|
|
147
|
-
<i class="fa fa-bars in-page-bars-icon cursor-pointer" cdkDragHandle></i>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
|
|
151
|
-
<div cdkDropList (cdkDropListDropped)="dropNavbarSubtitles(i, $event)">
|
|
152
|
-
<div *ngFor="let sub of item.subtitles; let j = index" class="row border p-3 mb-2 align-items-center" cdkDrag>
|
|
153
|
-
<div class="col-md-5">
|
|
154
|
-
<label [for]="'navbarSubtitleTitle' + i + j" class="form-label">Subtitle Title</label>
|
|
155
|
-
<input [id]="'navbarSubtitleTitle' + i + j" class="form-control" [(ngModel)]="sub.title" />
|
|
156
|
-
</div>
|
|
157
|
-
<div class="col-md-5">
|
|
158
|
-
<label [for]="'navbarSubtitlePath' + i + j" class="form-label">Subtitle Path</label>
|
|
159
|
-
<input [id]="'navbarSubtitlePath' + i + j" class="form-control" [(ngModel)]="sub.path" />
|
|
160
|
-
</div>
|
|
161
|
-
<div class="col-md-2 d-flex justify-content-between align-items-center mt-4">
|
|
162
|
-
<i class="fa fa-trash in-page-trash-icon text-danger cursor-pointer"
|
|
163
|
-
(click)="removeNavbarSubtitle(i, j)"
|
|
164
|
-
(keydown.enter)="removeNavbarSubtitle(i, j)"
|
|
165
|
-
(keydown.space)="removeNavbarSubtitle(i, j)"></i>
|
|
166
|
-
<i class="fa fa-bars in-page-bars-icon cursor-pointer" cdkDragHandle></i>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
|
|
171
|
-
<button class="btn btn-outline-primary btn-sm mt-2" (click)="addNavbarSubtitle(i)">
|
|
172
|
-
+ Add Subtitle
|
|
173
|
-
</button>
|
|
174
|
-
</div>
|
|
175
|
-
</div>
|
|
176
|
-
|
|
177
|
-
<button class="btn btn-primary mt-3" (click)="addNavbarItem()">
|
|
178
|
-
+ Add Navbar Item
|
|
179
|
-
</button>
|
|
180
|
-
</div>
|
|
181
|
-
|
|
182
|
-
<div class="modal-footer">
|
|
183
|
-
<button class="btn btn-secondary" (click)="onClose()">Cancel</button>
|
|
184
|
-
<button class="btn btn-primary" (click)="onSave()">Save</button>
|
|
185
|
-
</div>
|
|
186
|
-
`
|
|
187
|
-
}]
|
|
188
|
-
}], propDecorators: { editingNavbar: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], save: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], close: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}] } });
|
|
195
|
-
|
|
196
|
-
export { EditNavbarModalComponent };
|
|
197
|
-
//# sourceMappingURL=posiwise-resource-contact-us-edit-navbar-modal.component-jSKqyC6g.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"posiwise-resource-contact-us-edit-navbar-modal.component-jSKqyC6g.mjs","sources":["../../../../libs/resource-contact-us/src/lib/resource-header/edit-navbar-modal.component.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\n/**\n * Edit Navbar Modal Component\n * Contains drag-drop functionality for reordering navbar items\n * This component is lazy-loaded only when the edit modal is opened\n */\n@Component({\n selector: 'pw-edit-navbar-modal',\n standalone: true,\n imports: [CommonModule, FormsModule, DragDropModule],\n template: `\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Navbar Links</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"onClose()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Navbar Section</h4>\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarItems($event)\">\n <div *ngFor=\"let item of editingNavbar.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5 mb-2\">\n <label [for]=\"'navbarTitle' + i\" class=\"form-label\">Title</label>\n <input [id]=\"'navbarTitle' + i\" class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5 mb-2\">\n <label [for]=\"'navbarPath' + i\" class=\"form-label\">Path</label>\n <input [id]=\"'navbarPath' + i\" class=\"form-control\" [(ngModel)]=\"item.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\"\n (click)=\"removeNavbarItem(i)\"\n (keydown.enter)=\"removeNavbarItem(i)\"\n (keydown.space)=\"removeNavbarItem(i)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropNavbarSubtitles(i, $event)\">\n <div *ngFor=\"let sub of item.subtitles; let j = index\" class=\"row border p-3 mb-2 align-items-center\" cdkDrag>\n <div class=\"col-md-5\">\n <label [for]=\"'navbarSubtitleTitle' + i + j\" class=\"form-label\">Subtitle Title</label>\n <input [id]=\"'navbarSubtitleTitle' + i + j\" class=\"form-control\" [(ngModel)]=\"sub.title\" />\n </div>\n <div class=\"col-md-5\">\n <label [for]=\"'navbarSubtitlePath' + i + j\" class=\"form-label\">Subtitle Path</label>\n <input [id]=\"'navbarSubtitlePath' + i + j\" class=\"form-control\" [(ngModel)]=\"sub.path\" />\n </div>\n <div class=\"col-md-2 d-flex justify-content-between align-items-center mt-4\">\n <i class=\"fa fa-trash in-page-trash-icon text-danger cursor-pointer\"\n (click)=\"removeNavbarSubtitle(i, j)\"\n (keydown.enter)=\"removeNavbarSubtitle(i, j)\"\n (keydown.space)=\"removeNavbarSubtitle(i, j)\"></i>\n <i class=\"fa fa-bars in-page-bars-icon cursor-pointer\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm mt-2\" (click)=\"addNavbarSubtitle(i)\">\n + Add Subtitle\n </button>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-3\" (click)=\"addNavbarItem()\">\n + Add Navbar Item\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"onClose()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"onSave()\">Save</button>\n </div>\n `\n})\nexport class EditNavbarModalComponent {\n @Input() editingNavbar: any;\n @Output() save = new EventEmitter<any>();\n @Output() close = new EventEmitter<void>();\n\n dropNavbarItems(event: any) {\n moveItemInArray(this.editingNavbar.items, event.previousIndex, event.currentIndex);\n }\n\n dropNavbarSubtitles(index: number, event: any) {\n moveItemInArray(\n this.editingNavbar.items[index].subtitles,\n event.previousIndex,\n event.currentIndex\n );\n }\n\n addNavbarItem() {\n this.editingNavbar.items.push({\n title: '',\n path: '',\n subtitles: []\n });\n }\n\n removeNavbarItem(index: number) {\n this.editingNavbar.items.splice(index, 1);\n }\n\n addNavbarSubtitle(index: number) {\n this.editingNavbar.items[index].subtitles.push({\n title: '',\n path: ''\n });\n }\n\n removeNavbarSubtitle(navIndex: number, subIndex: number) {\n this.editingNavbar.items[navIndex].subtitles.splice(subIndex, 1);\n }\n\n onSave() {\n this.save.emit(this.editingNavbar);\n }\n\n onClose() {\n this.close.emit();\n }\n}\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Injector } from '@angular/core';
|
|
2
|
-
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
3
|
-
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class CustomUploaderComponent extends AppBaseComponent {
|
|
6
|
-
private readonly modalService;
|
|
7
|
-
private readonly document;
|
|
8
|
-
saveEvent: EventEmitter<{
|
|
9
|
-
file: string;
|
|
10
|
-
name: string;
|
|
11
|
-
}>;
|
|
12
|
-
controlName: string;
|
|
13
|
-
previewData: {
|
|
14
|
-
url: string;
|
|
15
|
-
name?: string;
|
|
16
|
-
};
|
|
17
|
-
aspectRatio: string;
|
|
18
|
-
title: string;
|
|
19
|
-
uploadedFile: any;
|
|
20
|
-
selectedFileName: string;
|
|
21
|
-
buttonBusy: boolean;
|
|
22
|
-
constructor(injector: Injector, modalService: NgbModal, document: Document);
|
|
23
|
-
deleteExistingFile(): void;
|
|
24
|
-
onSaveFile(): void;
|
|
25
|
-
onFileChange(value: any): void;
|
|
26
|
-
private dataURLtoBlob;
|
|
27
|
-
onImageSelection(event: any): void;
|
|
28
|
-
openModal(content: any): void;
|
|
29
|
-
clearValues(): void;
|
|
30
|
-
onClose(): void;
|
|
31
|
-
updateHeight(): void;
|
|
32
|
-
onImgChange(event?: Event): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CustomUploaderComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CustomUploaderComponent, "pw-custom-uploader", never, { "controlName": { "alias": "controlName"; "required": false; }; "previewData": { "alias": "previewData"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, { "saveEvent": "saveEvent"; }, never, never, false, never>;
|
|
35
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class FieldErrorDisplayComponent {
|
|
3
|
-
errorMsg: string;
|
|
4
|
-
displayError: boolean;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FieldErrorDisplayComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FieldErrorDisplayComponent, "pw-field-error-display", never, { "errorMsg": { "alias": "errorMsg"; "required": false; }; "displayError": { "alias": "displayError"; "required": false; }; }, {}, never, never, false, never>;
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./field-error-display.component";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
/**
|
|
5
|
-
* Standalone module for FieldErrorDisplayComponent.
|
|
6
|
-
* Import this lightweight module instead of SharedComponentsModule
|
|
7
|
-
* when you only need field error display functionality.
|
|
8
|
-
*/
|
|
9
|
-
export declare class FieldErrorDisplayModule {
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FieldErrorDisplayModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FieldErrorDisplayModule, [typeof i1.FieldErrorDisplayComponent], [typeof i2.CommonModule], [typeof i1.FieldErrorDisplayComponent]>;
|
|
12
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<FieldErrorDisplayModule>;
|
|
13
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ProfileImageCropperComponent {
|
|
5
|
-
private readonly cdr;
|
|
6
|
-
imageChangedEvent: Event | string;
|
|
7
|
-
croppedImage: string;
|
|
8
|
-
imageSelectionEvent: EventEmitter<string>;
|
|
9
|
-
closeEvent: EventEmitter<void>;
|
|
10
|
-
fileChangeEvent: EventEmitter<string>;
|
|
11
|
-
aspectRatio: string;
|
|
12
|
-
dynamicData: any;
|
|
13
|
-
transform: ImageTransform;
|
|
14
|
-
canvasRotation: number;
|
|
15
|
-
showCropper: boolean;
|
|
16
|
-
busy: boolean;
|
|
17
|
-
constructor(cdr: ChangeDetectorRef);
|
|
18
|
-
onFileChange(event: Event): void;
|
|
19
|
-
imageCropped(event: ImageCroppedEvent): void;
|
|
20
|
-
imageLoaded(): void;
|
|
21
|
-
rotateLeft(): void;
|
|
22
|
-
rotateRight(): void;
|
|
23
|
-
private flipAfterRotate;
|
|
24
|
-
flipHorizontal(): void;
|
|
25
|
-
flipVertical(): void;
|
|
26
|
-
saveProfilePicture(): void;
|
|
27
|
-
onCloseModal(): void;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ProfileImageCropperComponent, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ProfileImageCropperComponent, "pw-image-cropper", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "dynamicData": { "alias": "dynamicData"; "required": false; }; }, { "imageSelectionEvent": "imageSelectionEvent"; "closeEvent": "closeEvent"; "fileChangeEvent": "fileChangeEvent"; }, never, never, false, never>;
|
|
30
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./image-cropper.component";
|
|
3
|
-
import * as i2 from "../custom-uploader/custom-uploader.component";
|
|
4
|
-
import * as i3 from "@angular/common";
|
|
5
|
-
import * as i4 from "@posiwise/core-transloco";
|
|
6
|
-
import * as i5 from "primeng/button";
|
|
7
|
-
import * as i6 from "ngx-image-cropper";
|
|
8
|
-
import * as i7 from "@posiwise/directives";
|
|
9
|
-
/**
|
|
10
|
-
* Lightweight module for pw-image-cropper component
|
|
11
|
-
*
|
|
12
|
-
* Minimal dependencies - only CommonModule, ImageCropperModule, DirectivesModule
|
|
13
|
-
* Use this instead of ResourceSharedComponentsModule when you only need image cropping
|
|
14
|
-
*/
|
|
15
|
-
export declare class ProfileImageCropperModule {
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ProfileImageCropperModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ProfileImageCropperModule, [typeof i1.ProfileImageCropperComponent, typeof i2.CustomUploaderComponent], [typeof i3.CommonModule, typeof i4.CoreTranslocoModule, typeof i5.ButtonModule, typeof i6.ImageCropperModule, typeof i7.DirectivesModule], [typeof i1.ProfileImageCropperComponent, typeof i2.CustomUploaderComponent]>;
|
|
18
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ProfileImageCropperModule>;
|
|
19
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./resource-contact-us.component";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "../field-error-display/field-error-display.module";
|
|
5
|
-
import * as i4 from "primeng/dropdown";
|
|
6
|
-
import * as i5 from "@angular/forms";
|
|
7
|
-
import * as i6 from "ngx-captcha";
|
|
8
|
-
import * as i7 from "@angular/router";
|
|
9
|
-
import * as i8 from "@posiwise/pipes";
|
|
10
|
-
import * as i9 from "@posiwise/core-transloco";
|
|
11
|
-
import * as i10 from "@posiwise/admin-module-utils";
|
|
12
|
-
import * as i11 from "@posiwise/directives";
|
|
13
|
-
export declare class Trial4ContactUsComponentModule {
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<Trial4ContactUsComponentModule, never>;
|
|
15
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<Trial4ContactUsComponentModule, [typeof i1.Trial4ContactUsComponent], [typeof i2.CommonModule, typeof i3.FieldErrorDisplayModule, typeof i4.DropdownModule, typeof i5.ReactiveFormsModule, typeof i6.NgxCaptchaModule, typeof i7.RouterModule, typeof i8.PipesModule, typeof i5.FormsModule, typeof i9.CoreTranslocoModule, typeof i10.AdminModuleUtilsModule, typeof i11.DirectivesModule], [typeof i1.Trial4ContactUsComponent, typeof i2.CommonModule, typeof i3.FieldErrorDisplayModule, typeof i4.DropdownModule, typeof i5.ReactiveFormsModule, typeof i6.NgxCaptchaModule, typeof i7.RouterModule, typeof i8.PipesModule, typeof i5.FormsModule, typeof i9.CoreTranslocoModule, typeof i10.AdminModuleUtilsModule, typeof i11.DirectivesModule]>;
|
|
16
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<Trial4ContactUsComponentModule>;
|
|
17
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Edit Navbar Modal Component
|
|
5
|
-
* Contains drag-drop functionality for reordering navbar items
|
|
6
|
-
* This component is lazy-loaded only when the edit modal is opened
|
|
7
|
-
*/
|
|
8
|
-
export declare class EditNavbarModalComponent {
|
|
9
|
-
editingNavbar: any;
|
|
10
|
-
save: EventEmitter<any>;
|
|
11
|
-
close: EventEmitter<void>;
|
|
12
|
-
dropNavbarItems(event: any): void;
|
|
13
|
-
dropNavbarSubtitles(index: number, event: any): void;
|
|
14
|
-
addNavbarItem(): void;
|
|
15
|
-
removeNavbarItem(index: number): void;
|
|
16
|
-
addNavbarSubtitle(index: number): void;
|
|
17
|
-
removeNavbarSubtitle(navIndex: number, subIndex: number): void;
|
|
18
|
-
onSave(): void;
|
|
19
|
-
onClose(): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EditNavbarModalComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EditNavbarModalComponent, "pw-edit-navbar-modal", never, { "editingNavbar": { "alias": "editingNavbar"; "required": false; }; }, { "save": "save"; "close": "close"; }, never, never, true, never>;
|
|
22
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ElementRef, Injector, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
|
-
import { AdminService } from '@posiwise/admin-module-utils';
|
|
3
|
-
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
4
|
-
import { User } from '@posiwise/common-utilities';
|
|
5
|
-
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
6
|
-
import { CustomUploaderComponent } from '../custom-uploader/custom-uploader.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class ResourceHeaderComponent extends AppBaseComponent implements OnInit, OnChanges {
|
|
9
|
-
private readonly document;
|
|
10
|
-
private readonly adminService;
|
|
11
|
-
private readonly modalService;
|
|
12
|
-
navbarCollapse: ElementRef;
|
|
13
|
-
logoEditModal: TemplateRef<CustomUploaderComponent>;
|
|
14
|
-
user: User;
|
|
15
|
-
userLoggedIn: boolean;
|
|
16
|
-
isScrolled: boolean;
|
|
17
|
-
open: boolean;
|
|
18
|
-
logo: string;
|
|
19
|
-
navbarItems: any;
|
|
20
|
-
domainId: any;
|
|
21
|
-
contrastImageUrl: any;
|
|
22
|
-
darkImageUrl: any;
|
|
23
|
-
editingNavbar: {
|
|
24
|
-
items: any[];
|
|
25
|
-
};
|
|
26
|
-
id: string;
|
|
27
|
-
scrollTimeout: any;
|
|
28
|
-
canEditResourcesValue: boolean;
|
|
29
|
-
constructor(injector: Injector, document: Document, adminService: AdminService, modalService: NgbModal);
|
|
30
|
-
ngOnInit(): void;
|
|
31
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
32
|
-
openLogoEditModal(): void;
|
|
33
|
-
onSaveLogo(event: any): void;
|
|
34
|
-
onScroll(): void;
|
|
35
|
-
onDocumentClick(event: Event): void;
|
|
36
|
-
closeAllDropdowns(): void;
|
|
37
|
-
openDropdown(item: any): void;
|
|
38
|
-
onDropdownItemClick(item: any): void;
|
|
39
|
-
openEditNavbarModal(): Promise<void>;
|
|
40
|
-
saveNavbarLinks(modal: any, updatedNavbar?: any): void;
|
|
41
|
-
private updateCanEditResourcesValue;
|
|
42
|
-
canEditResources(): boolean;
|
|
43
|
-
navigateToLogin(): void;
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ResourceHeaderComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ResourceHeaderComponent, "pw-resource-header", never, { "user": { "alias": "user"; "required": false; }; "userLoggedIn": { "alias": "userLoggedIn"; "required": false; }; }, {}, never, never, false, never>;
|
|
46
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./resource-header.component";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "@angular/forms";
|
|
5
|
-
import * as i4 from "@angular/router";
|
|
6
|
-
/**
|
|
7
|
-
* ResourceHeaderModule - Optimized
|
|
8
|
-
* DragDropModule removed - now lazy-loaded only when edit modal opens
|
|
9
|
-
* This reduces bundle size for landing pages where users aren't logged in
|
|
10
|
-
*/
|
|
11
|
-
export declare class ResourceSharedHeaderModule {
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ResourceSharedHeaderModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ResourceSharedHeaderModule, [typeof i1.ResourceHeaderComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.RouterModule], [typeof i1.ResourceHeaderComponent]>;
|
|
14
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ResourceSharedHeaderModule>;
|
|
15
|
-
}
|