@posiwise/shared-components 0.0.157 → 0.0.158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/posiwise-shared-components.mjs +698 -133
  2. package/fesm2022/posiwise-shared-components.mjs.map +1 -1
  3. package/package.json +5 -5
  4. package/types/posiwise-shared-components.d.ts +786 -0
  5. package/index.d.ts +0 -21
  6. package/lib/authenticator/authenticator.component.d.ts +0 -12
  7. package/lib/clearbit-icon/clearbit-icon.component.d.ts +0 -11
  8. package/lib/coming-soon/coming-soon.component.d.ts +0 -6
  9. package/lib/header/header.component.d.ts +0 -16
  10. package/lib/input-container/input-container.component.d.ts +0 -29
  11. package/lib/label-management/entity-group/entity-group.component.d.ts +0 -45
  12. package/lib/label-management/group-definition/group-definition.component.d.ts +0 -45
  13. package/lib/label-management/groups/groups.component.d.ts +0 -64
  14. package/lib/landing-page-footer-b/landing-page-footer-b.component.d.ts +0 -13
  15. package/lib/no-data/no-data.component.d.ts +0 -16
  16. package/lib/number-picker/number-picker.component.d.ts +0 -73
  17. package/lib/number-picker/number-picker.config.d.ts +0 -11
  18. package/lib/password-validation/password-validation.component.d.ts +0 -18
  19. package/lib/permission-tree/permission-tree.component.d.ts +0 -16
  20. package/lib/privacy-and-tos/privacy-and-tos.component.d.ts +0 -36
  21. package/lib/privacy-policy/privacy-policy.component.d.ts +0 -11
  22. package/lib/pw-tabs/pw-tabs.component.d.ts +0 -21
  23. package/lib/range-date-picker/date-range-picker.component.d.ts +0 -28
  24. package/lib/resource-shared-components.module.d.ts +0 -20
  25. package/lib/shared/shared-component.interface.d.ts +0 -35
  26. package/lib/shared-components.module.d.ts +0 -43
  27. package/lib/splash/splash.component.d.ts +0 -5
  28. package/lib/terms-conditions/terms-conditions.component.d.ts +0 -18
@@ -0,0 +1,786 @@
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef, EventEmitter, Injector, ChangeDetectorRef, OnInit, OnDestroy, AfterViewInit, OnChanges, ElementRef, SimpleChanges, Type, ViewContainerRef, AfterContentInit } from '@angular/core';
3
+ import { AppBaseComponent } from '@posiwise/app-base-component';
4
+ import * as i25 from '@ng-bootstrap/ng-bootstrap';
5
+ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
6
+ import { MenuItem } from 'primeng/api';
7
+ import moment from 'moment';
8
+ import * as i35 from 'ngx-daterangepicker-material';
9
+ import { DaterangepickerDirective } from 'ngx-daterangepicker-material';
10
+ import { DomSanitizer } from '@angular/platform-browser';
11
+ import { AdminService } from '@posiwise/admin-module-utils';
12
+ import { User, Subscription } from '@posiwise/common-utilities';
13
+ import { AppConfigService } from '@posiwise/app-config-service';
14
+ import { AuthService, McpToolDefinition, McpJsonRpcService, GroupService, SubscriptionService, DataService, NumberPickerService, UserService, PermissionService } from '@posiwise/common-services';
15
+ import * as rxjs from 'rxjs';
16
+ import { Observable } from 'rxjs';
17
+ import * as i24 from '@angular/router';
18
+ import { Router } from '@angular/router';
19
+ import * as i4 from '@angular/forms';
20
+ import { UntypedFormGroup, UntypedFormBuilder, AbstractControl, ControlContainer } from '@angular/forms';
21
+ import * as i5 from '@posiwise/app-loader';
22
+ import * as i7 from '@posiwise/directives';
23
+ import * as i6 from '@posiwise/core-transloco';
24
+ import * as i26 from 'primeng/table';
25
+ import * as i27 from 'primeng/tabs';
26
+ import * as i8 from 'primeng/button';
27
+ import * as i29 from 'primeng/select';
28
+ import * as i30 from 'primeng/multiselect';
29
+ import * as i11 from 'primeng/progressspinner';
30
+ import * as i12 from 'primeng/autocomplete';
31
+ import * as i33 from 'ngx-image-cropper';
32
+ import * as i34 from 'ngx-ui-switch';
33
+ import * as i36 from '@posiwise/pipes';
34
+ import * as i37 from '@angular/common';
35
+ import * as i14 from '@posiwise/utils';
36
+ import * as i10 from 'primeng/tooltip';
37
+ import * as i13 from '@angular/cdk/drag-drop';
38
+
39
+ interface SharedModalContext {
40
+ modal: {
41
+ dismiss: () => void;
42
+ close: () => void;
43
+ };
44
+ }
45
+ interface EnrolledUser {
46
+ is_owner: boolean;
47
+ id: number;
48
+ }
49
+ interface Group {
50
+ id?: number;
51
+ name?: string;
52
+ description?: string;
53
+ group_definition_id?: number;
54
+ group_definition_name: string;
55
+ }
56
+ interface Permission {
57
+ name: string;
58
+ parentName?: string;
59
+ displayName: string;
60
+ }
61
+ interface PermissionTreeData {
62
+ permissions: Permission[];
63
+ grantedPermissionNames: string[];
64
+ }
65
+
66
+ declare class PasswordValidationComponent extends AppBaseComponent {
67
+ private readonly modal;
68
+ private readonly cdr;
69
+ content: TemplateRef<SharedModalContext>;
70
+ confirmMessage: string;
71
+ successEvent: EventEmitter<boolean>;
72
+ password: string;
73
+ buttonBusy: boolean;
74
+ constructor(injector: Injector, modal: NgbModal, cdr: ChangeDetectorRef);
75
+ open(): void;
76
+ validatePassword(): void;
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<PasswordValidationComponent, never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<PasswordValidationComponent, "pw-password-validation", never, { "confirmMessage": { "alias": "confirmMessage"; "required": false; }; }, { "successEvent": "successEvent"; }, never, ["*"], false, never>;
79
+ }
80
+
81
+ declare class PwTabsComponent extends AppBaseComponent implements OnInit, OnDestroy {
82
+ private readonly cdr;
83
+ items: MenuItem[];
84
+ withSubscription: boolean;
85
+ /** Current tab value (route path) for p-tabs */
86
+ activeTabValue: string | number;
87
+ private routeEventSubscription;
88
+ constructor(injector: Injector, cdr: ChangeDetectorRef);
89
+ ngOnInit(): void;
90
+ /** Arrow function so trackBy is called with correct `this` from template */
91
+ trackByItem: (_index: number, item: MenuItem) => string;
92
+ getItemValue(item: MenuItem): string;
93
+ onTabChange(value: string | number): void;
94
+ private updateActiveTab;
95
+ ngOnDestroy(): void;
96
+ static ɵfac: i0.ɵɵFactoryDeclaration<PwTabsComponent, never>;
97
+ static ɵcmp: i0.ɵɵComponentDeclaration<PwTabsComponent, "pw-tabs", never, { "items": { "alias": "items"; "required": false; }; "withSubscription": { "alias": "withSubscription"; "required": false; }; }, {}, never, never, false, never>;
98
+ }
99
+
100
+ declare class DateRangePickerComponent implements AfterViewInit {
101
+ pickerDirective: DaterangepickerDirective;
102
+ private initialized;
103
+ selectedDateRange: {
104
+ startDate: moment.Moment;
105
+ endDate: moment.Moment;
106
+ };
107
+ dateRanges: any;
108
+ /** Optional unique id for the input (for accessibility). Defaults to 'date-range-picker-input'. */
109
+ inputId: string;
110
+ dateRangeChange: EventEmitter<{
111
+ startDate: moment.Moment;
112
+ endDate: moment.Moment;
113
+ }>;
114
+ onDateRangeSelect(event: {
115
+ startDate: moment.Moment;
116
+ endDate: moment.Moment;
117
+ }): void;
118
+ ngAfterViewInit(): void;
119
+ onClearDate(): void;
120
+ openDatepicker(): void;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerComponent, never>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerComponent, "app-date-picker", never, { "selectedDateRange": { "alias": "selectedDateRange"; "required": false; }; "dateRanges": { "alias": "dateRanges"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; }, { "dateRangeChange": "dateRangeChange"; }, never, never, false, never>;
123
+ }
124
+
125
+ declare class PermissionTreeComponent implements AfterViewInit, OnChanges {
126
+ private readonly _element;
127
+ data: PermissionTreeData;
128
+ private _$tree;
129
+ private _createdTreeBefore;
130
+ constructor(_element: ElementRef);
131
+ ngOnChanges(simple: SimpleChanges): void;
132
+ ngAfterViewInit(): void;
133
+ getGrantedPermissionNames(): string[];
134
+ private refreshTree;
135
+ static ɵfac: i0.ɵɵFactoryDeclaration<PermissionTreeComponent, never>;
136
+ static ɵcmp: i0.ɵɵComponentDeclaration<PermissionTreeComponent, "permission-tree", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, false, never>;
137
+ }
138
+
139
+ declare class PrivacyAndTosComponent extends AppBaseComponent implements OnInit {
140
+ private readonly adminService;
141
+ private readonly document;
142
+ private readonly sanitizer;
143
+ private readonly cdr;
144
+ productId: number;
145
+ private privacyAndTos;
146
+ id: string;
147
+ data: {
148
+ privacy: '';
149
+ };
150
+ user: User;
151
+ subscribedSubscriptions: {
152
+ products: {
153
+ id: number;
154
+ }[];
155
+ }[];
156
+ product: string;
157
+ productName: string;
158
+ tabId: string;
159
+ isPublic: boolean;
160
+ isLoaded: boolean;
161
+ constructor(adminService: AdminService, injector: Injector, document: Document, sanitizer: DomSanitizer, cdr: ChangeDetectorRef);
162
+ ngOnInit(): void;
163
+ private getSubscribedProduct;
164
+ fetchUserSubscriptions(userId: any, id?: any): void;
165
+ private findRequiredProducts;
166
+ private getTosDetails;
167
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyAndTosComponent, never>;
168
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyAndTosComponent, "pw-privacy-and-tos", never, { "productId": { "alias": "productId"; "required": false; }; }, {}, never, never, false, never>;
169
+ }
170
+
171
+ declare class PrivacyPolicyComponent extends AppBaseComponent implements OnInit {
172
+ isPublic: boolean;
173
+ company_name: string;
174
+ company_email: string;
175
+ ngOnInit(): void;
176
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyPolicyComponent, never>;
177
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyPolicyComponent, "pw-privacy-policy", never, { "isPublic": { "alias": "isPublic"; "required": false; }; }, {}, never, never, false, never>;
178
+ }
179
+
180
+ declare class TermsConditionsComponent implements OnInit {
181
+ private readonly appConfigService;
182
+ private readonly cdr;
183
+ isPublic: boolean;
184
+ company_name: string;
185
+ company_number: string;
186
+ company_state: string;
187
+ company_street: string;
188
+ company_email: string;
189
+ company_city: string;
190
+ company_city_code: string;
191
+ constructor(appConfigService: AppConfigService, cdr: ChangeDetectorRef);
192
+ ngOnInit(): void;
193
+ static ɵfac: i0.ɵɵFactoryDeclaration<TermsConditionsComponent, never>;
194
+ static ɵcmp: i0.ɵɵComponentDeclaration<TermsConditionsComponent, "pw-terms-conditions", never, { "isPublic": { "alias": "isPublic"; "required": false; }; }, {}, never, never, false, never>;
195
+ }
196
+
197
+ declare class SplashComponent {
198
+ static ɵfac: i0.ɵɵFactoryDeclaration<SplashComponent, never>;
199
+ static ɵcmp: i0.ɵɵComponentDeclaration<SplashComponent, "ng-component", never, {}, {}, never, never, false, never>;
200
+ }
201
+
202
+ declare class AuthenticatorComponent extends AppBaseComponent implements OnInit {
203
+ private readonly authService;
204
+ private readonly cdr;
205
+ token: string;
206
+ constructor(authService: AuthService, injector: Injector, cdr: ChangeDetectorRef);
207
+ ngOnInit(): void;
208
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticatorComponent, never>;
209
+ static ɵcmp: i0.ɵɵComponentDeclaration<AuthenticatorComponent, "pw-authenticator", never, {}, {}, never, never, false, never>;
210
+ }
211
+
212
+ declare class ClearBitIconComponent implements OnChanges {
213
+ src: any;
214
+ altText: string;
215
+ dummyPath: string;
216
+ clearBitSrc: any;
217
+ ngOnChanges(simple: SimpleChanges): void;
218
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClearBitIconComponent, never>;
219
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClearBitIconComponent, "pw-clearbit-icon", never, { "src": { "alias": "src"; "required": false; }; "altText": { "alias": "altText"; "required": false; }; "dummyPath": { "alias": "dummyPath"; "required": false; }; }, {}, never, never, false, never>;
220
+ }
221
+
222
+ declare class ComingSoonComponent {
223
+ message: string;
224
+ static ɵfac: i0.ɵɵFactoryDeclaration<ComingSoonComponent, never>;
225
+ static ɵcmp: i0.ɵɵComponentDeclaration<ComingSoonComponent, "pw-coming-soon", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, false, never>;
226
+ }
227
+
228
+ /**
229
+ * Interface for sidebar content that modules can provide
230
+ */
231
+ interface SidebarContent {
232
+ /**
233
+ * Unique identifier for this sidebar content
234
+ */
235
+ id: string;
236
+ /**
237
+ * Title/label for the sidebar section
238
+ */
239
+ title: string;
240
+ /**
241
+ * Component type to render in the sidebar
242
+ */
243
+ component: Type<any>;
244
+ /**
245
+ * Input data to pass to the component
246
+ */
247
+ data?: any;
248
+ /**
249
+ * Optional icon class (e.g., 'pi pi-cog' for PrimeNG icons)
250
+ */
251
+ icon?: string;
252
+ /**
253
+ * Tooltip text shown on hover
254
+ */
255
+ tooltip?: string;
256
+ }
257
+ /**
258
+ * CollapsibleSidebarService manages dynamic sidebar content
259
+ *
260
+ * This service allows any module to register, update, or remove sidebar content.
261
+ * It uses observables to notify components of state changes.
262
+ */
263
+ declare class CollapsibleSidebarService {
264
+ private readonly sidebarContentMap;
265
+ private readonly sidebarExpandedSubject;
266
+ private readonly sidebarContentSubject;
267
+ private readonly activeContentIdSubject;
268
+ /**
269
+ * Observable for sidebar expanded/collapsed state
270
+ */
271
+ sidebarExpanded$: Observable<boolean>;
272
+ /**
273
+ * Observable for current sidebar content
274
+ */
275
+ sidebarContent$: Observable<SidebarContent | null>;
276
+ /**
277
+ * Observable for currently active content ID
278
+ */
279
+ activeContentId$: Observable<string | null>;
280
+ /**
281
+ * Register sidebar content that can be triggered by a module
282
+ * @param content - The sidebar content configuration
283
+ */
284
+ registerContent(content: SidebarContent): void;
285
+ /**
286
+ * Unregister sidebar content
287
+ * @param contentId - The ID of the content to remove
288
+ */
289
+ unregisterContent(contentId: string): void;
290
+ /**
291
+ * Load and display sidebar content by ID
292
+ * @param contentId - The ID of the content to load
293
+ */
294
+ loadContent(contentId: string): void;
295
+ /**
296
+ * Toggle sidebar expanded/collapsed state
297
+ */
298
+ toggleSidebar(): void;
299
+ /**
300
+ * Expand the sidebar
301
+ */
302
+ expandSidebar(): void;
303
+ /**
304
+ * Collapse the sidebar
305
+ */
306
+ collapseSidebar(): void;
307
+ /**
308
+ * Get current expanded state synchronously
309
+ */
310
+ isExpanded(): boolean;
311
+ /**
312
+ * Get currently active content ID synchronously
313
+ */
314
+ getActiveContentId(): string | null;
315
+ /**
316
+ * Get all registered content IDs
317
+ */
318
+ getRegisteredContentIds(): string[];
319
+ /**
320
+ * Clear all sidebar content and collapse
321
+ */
322
+ clearAll(): void;
323
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollapsibleSidebarService, never>;
324
+ static ɵprov: i0.ɵɵInjectableDeclaration<CollapsibleSidebarService>;
325
+ }
326
+
327
+ /**
328
+ * CollapsibleSidebarComponent
329
+ *
330
+ * Main sidebar container that displays dynamically loaded content.
331
+ * - Observes sidebar state from the service
332
+ * - Dynamically renders component content
333
+ * - Handles expand/collapse animations
334
+ * - Uses OnPush change detection for performance
335
+ */
336
+ declare class CollapsibleSidebarComponent implements OnInit, AfterViewInit, OnDestroy {
337
+ private readonly sidebarService;
338
+ private readonly injector;
339
+ private readonly cdr;
340
+ contentContainer: ViewContainerRef;
341
+ /**
342
+ * When true, the drawer is a flex sibling of the page: main content shrinks (GitLab issue-board style).
343
+ * When false, the drawer is fixed over the viewport with a backdrop.
344
+ */
345
+ embedInLayout: boolean;
346
+ /**
347
+ * When false, width/transform transitions are off so the first paint after
348
+ * a full page load does not briefly animate or show border/shadow flash.
349
+ */
350
+ transitionReady: boolean;
351
+ isExpanded: boolean;
352
+ currentContent: SidebarContent | null;
353
+ private componentRef;
354
+ private readonly destroy$;
355
+ constructor(sidebarService: CollapsibleSidebarService, injector: Injector, cdr: ChangeDetectorRef);
356
+ ngOnInit(): void;
357
+ ngAfterViewInit(): void;
358
+ ngOnDestroy(): void;
359
+ /**
360
+ * Load and render dynamic component based on sidebar content
361
+ */
362
+ private loadComponent;
363
+ /**
364
+ * Clear the currently rendered component
365
+ */
366
+ private clearComponent;
367
+ /**
368
+ * Close the sidebar
369
+ */
370
+ closeSidebar(): void;
371
+ /**
372
+ * Toggle sidebar expanded/collapsed state
373
+ */
374
+ toggleSidebar(): void;
375
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollapsibleSidebarComponent, never>;
376
+ static ɵcmp: i0.ɵɵComponentDeclaration<CollapsibleSidebarComponent, "pw-collapsible-sidebar", never, { "embedInLayout": { "alias": "embedInLayout"; "required": false; }; }, {}, never, never, false, never>;
377
+ static ngAcceptInputType_embedInLayout: unknown;
378
+ }
379
+
380
+ declare class PwBrainChatComponent implements OnInit, OnDestroy {
381
+ private readonly mcp;
382
+ private readonly router;
383
+ private readonly cdr;
384
+ messages: {
385
+ role: 'user' | 'assistant';
386
+ text: string;
387
+ }[];
388
+ draft: string;
389
+ loading: boolean;
390
+ tools: McpToolDefinition[];
391
+ private readonly destroy$;
392
+ constructor(mcp: McpJsonRpcService, router: Router, cdr: ChangeDetectorRef);
393
+ ngOnInit(): void;
394
+ ngOnDestroy(): void;
395
+ send(): void;
396
+ trackByIndex(index: number, _item: {
397
+ role: string;
398
+ text: string;
399
+ }): number;
400
+ private buildWelcome;
401
+ private buildHelpReply;
402
+ private resolveToolName;
403
+ private applyToolResult;
404
+ /** Mitigate open redirects: only same-origin absolute URLs. */
405
+ private isAllowedExternalNavigationUrl;
406
+ /** Block protocol-relative and pseudo-scheme paths passed to Router. */
407
+ private isSafeAppRelativePath;
408
+ private pushAssistant;
409
+ static ɵfac: i0.ɵɵFactoryDeclaration<PwBrainChatComponent, never>;
410
+ static ɵcmp: i0.ɵɵComponentDeclaration<PwBrainChatComponent, "pw-brain-chat", never, {}, {}, never, never, false, never>;
411
+ }
412
+
413
+ declare class EntityGroupComponent extends AppBaseComponent implements OnInit, OnDestroy {
414
+ private readonly groupService;
415
+ private readonly subscriptionService;
416
+ private readonly modalService;
417
+ private readonly cdr;
418
+ content: TemplateRef<SharedModalContext>;
419
+ subscription: Subscription;
420
+ subscriptionId: number;
421
+ user: User;
422
+ userId: number;
423
+ entityId: number;
424
+ selectedGroup: {
425
+ name: string;
426
+ };
427
+ subscriptionMembers: any[];
428
+ subscribedMembers: any[];
429
+ filteredMembers: any[];
430
+ selectedMembers: any[];
431
+ enrolledUsers: EnrolledUser[];
432
+ admins: any[];
433
+ subscriptionInfo: any[];
434
+ subscriptionOwner: number;
435
+ chatPermission: string;
436
+ isLoaded: boolean;
437
+ hasAccess: boolean;
438
+ constructor(groupService: GroupService, subscriptionService: SubscriptionService, modalService: NgbModal, injector: Injector, cdr: ChangeDetectorRef);
439
+ ngOnInit(): void;
440
+ search(event: any): void;
441
+ open(): void;
442
+ closeModal(modal: any): void;
443
+ getEntity(): void;
444
+ onSave(): void;
445
+ private getSubscribedUsers;
446
+ onDelete(memberId: any): void;
447
+ navigateToCommunications(): void;
448
+ ngOnDestroy(): void;
449
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntityGroupComponent, never>;
450
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityGroupComponent, "pw-entity-group", never, {}, {}, never, never, false, never>;
451
+ }
452
+
453
+ declare class GroupsComponent extends AppBaseComponent implements OnInit, OnDestroy {
454
+ private readonly fb;
455
+ private readonly groupService;
456
+ private readonly subscriptionService;
457
+ private readonly dataService;
458
+ private readonly cdr;
459
+ private groupsData;
460
+ subscription: Subscription;
461
+ message: number;
462
+ id: number;
463
+ group_id: number;
464
+ form: UntypedFormGroup;
465
+ description: string;
466
+ name: string;
467
+ allGroups: Group[];
468
+ groupDefinition: {
469
+ name: string;
470
+ groups: IterableIterator<object>;
471
+ }[];
472
+ domainGroupDefinition: any[];
473
+ admins: any[];
474
+ subscriptionInfo: any[];
475
+ subscriptionOwner: number;
476
+ enrolledUsers: {
477
+ is_owner: boolean;
478
+ id: number;
479
+ }[];
480
+ user: User;
481
+ submitted: boolean;
482
+ viewEdit: boolean;
483
+ buttonBusy: boolean;
484
+ isGroupOperations: boolean;
485
+ isGroupEdit: boolean;
486
+ hasAccess: boolean;
487
+ isLoaded: boolean;
488
+ constructor(fb: UntypedFormBuilder, groupService: GroupService, subscriptionService: SubscriptionService, dataService: DataService, injector: Injector, cdr: ChangeDetectorRef);
489
+ ngOnInit(): void;
490
+ /** Function to save group */
491
+ saveGroup(): void;
492
+ private getAllGroupDefinition;
493
+ private getSubscribedUsers;
494
+ groupOperation(): void;
495
+ cancelUpdate(): void;
496
+ editGroup(group_id: number): void;
497
+ private getGroupDetails;
498
+ updateDetails(): void;
499
+ onDelete(id: number): void;
500
+ filterDomainsList(event: any): void;
501
+ previous(): void;
502
+ navigateToCommunications(id: number): void;
503
+ navigateToDocumentations(id: number): void;
504
+ trackByGroup(_index: number, item: {
505
+ id: number;
506
+ }): number;
507
+ ngOnDestroy(): void;
508
+ static ɵfac: i0.ɵɵFactoryDeclaration<GroupsComponent, never>;
509
+ static ɵcmp: i0.ɵɵComponentDeclaration<GroupsComponent, "pw-groups", never, {}, {}, never, never, false, never>;
510
+ }
511
+
512
+ declare class GroupDefinitionComponent extends AppBaseComponent implements OnInit, OnDestroy {
513
+ private readonly groupService;
514
+ private readonly fb;
515
+ private readonly subscriptionService;
516
+ private readonly data;
517
+ private readonly cdr;
518
+ subscriptions: any[];
519
+ message: number;
520
+ groupDefinition: object[];
521
+ form: UntypedFormGroup;
522
+ id: number;
523
+ viewDefinition: boolean;
524
+ viewEdit: boolean;
525
+ private groupDefId;
526
+ private groupDefinitionDetails;
527
+ hasAccess: boolean;
528
+ admins: any[];
529
+ subscriptionInfo: any[];
530
+ subscriptionOwner: number;
531
+ enrolledUsers: EnrolledUser[];
532
+ user: User;
533
+ isLoaded: boolean;
534
+ categoryBusyButton: boolean;
535
+ constructor(groupService: GroupService, fb: UntypedFormBuilder, subscriptionService: SubscriptionService, data: DataService, injector: Injector, cdr: ChangeDetectorRef);
536
+ ngOnInit(): void;
537
+ private getAllGroupDefinition;
538
+ private getSubscribedUsers;
539
+ updateDetails(): void;
540
+ onGroupDefinitionEdit(id: number): void;
541
+ getSubscriptionDetails(): void;
542
+ saveGroupDefinition(): void;
543
+ onDelete(id: number): void;
544
+ viewDefinitions(): void;
545
+ previous(): void;
546
+ onCancel(): void;
547
+ ngOnDestroy(): void;
548
+ static ɵfac: i0.ɵɵFactoryDeclaration<GroupDefinitionComponent, never>;
549
+ static ɵcmp: i0.ɵɵComponentDeclaration<GroupDefinitionComponent, "pw-group-definition", never, {}, {}, never, never, false, never>;
550
+ }
551
+
552
+ type buttonsOrientationType = 'horizontal' | 'vertical' | 'h' | 'v';
553
+ type sizeType = 'medium' | 'large' | 'small' | 'xlarge' | 'md' | 'lg' | 'sm' | 'xlg';
554
+ interface CustomClasses {
555
+ container?: string;
556
+ up?: string;
557
+ down?: string;
558
+ postfix?: string;
559
+ prefix?: string;
560
+ success?: string;
561
+ error?: string;
562
+ }
563
+
564
+ declare class NumberPickerComponent implements OnInit {
565
+ private readonly numberPickerService;
566
+ private precision;
567
+ private eventHolder;
568
+ private countInterval;
569
+ private isInputFocused;
570
+ min: number;
571
+ showTooltip: boolean;
572
+ tooltipText: string;
573
+ max: number;
574
+ step: number;
575
+ value: number;
576
+ pickStartAfter: number;
577
+ pickTimer: number;
578
+ prefix: string;
579
+ postfix: string;
580
+ placeholder: string;
581
+ buttonsOrientation: buttonsOrientationType;
582
+ size: sizeType;
583
+ customClass: CustomClasses;
584
+ mouseWheel: boolean;
585
+ arrowKeys: boolean;
586
+ inputReadOnly: boolean;
587
+ showUpButton: boolean;
588
+ showDownButton: boolean;
589
+ /** Optional id for the number input (for accessibility/label association). */
590
+ inputId: string;
591
+ valueChange: EventEmitter<number>;
592
+ minReached: EventEmitter<boolean>;
593
+ maxReached: EventEmitter<boolean>;
594
+ pickStarted: EventEmitter<boolean>;
595
+ pickStopped: EventEmitter<boolean>;
596
+ pickUpStarted: EventEmitter<boolean>;
597
+ pickUpStopped: EventEmitter<boolean>;
598
+ pickDownStarted: EventEmitter<boolean>;
599
+ pickDownStopped: EventEmitter<boolean>;
600
+ constructor(numberPickerService: NumberPickerService);
601
+ ngOnInit(): void;
602
+ isHorizontal(): boolean;
603
+ onFocus(event: FocusEvent): void;
604
+ onBlur(event: Event): void;
605
+ onMouseWheel(event: WheelEvent): void;
606
+ private afterMouseWheels;
607
+ onValueChange(_event: Event): void;
608
+ onDecrease(event: MouseEvent | WheelEvent | KeyboardEvent): void;
609
+ onIncrease(event: MouseEvent | WheelEvent | KeyboardEvent): void;
610
+ onMouseDown(event: MouseEvent, increase?: boolean): void;
611
+ private isArrowUpDown;
612
+ private isArrowUp;
613
+ private loopPick;
614
+ onMouseUp(event: MouseEvent, increase?: boolean): void;
615
+ onKeyDown(event: KeyboardEvent): void;
616
+ onKeyUp(event: KeyboardEvent): void;
617
+ private afterMouseDown;
618
+ private afterMouseUp;
619
+ private afterPick;
620
+ private clearTimers;
621
+ private parseVal;
622
+ private getPrecision;
623
+ private round;
624
+ private canIncrease;
625
+ private canDecrease;
626
+ private onPickStarted;
627
+ private onPickStopped;
628
+ private isLeftClick;
629
+ private initPicker;
630
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberPickerComponent, never>;
631
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberPickerComponent, "pw-number-picker", never, { "min": { "alias": "min"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "value": { "alias": "value"; "required": false; }; "pickStartAfter": { "alias": "pickStartAfter"; "required": false; }; "pickTimer": { "alias": "pickTimer"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "postfix": { "alias": "postfix"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "buttonsOrientation": { "alias": "buttonsOrientation"; "required": false; }; "size": { "alias": "size"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "mouseWheel": { "alias": "mouseWheel"; "required": false; }; "arrowKeys": { "alias": "arrowKeys"; "required": false; }; "inputReadOnly": { "alias": "inputReadOnly"; "required": false; }; "showUpButton": { "alias": "showUpButton"; "required": false; }; "showDownButton": { "alias": "showDownButton"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; }, { "valueChange": "valueChange"; "minReached": "minReached"; "maxReached": "maxReached"; "pickStarted": "pickStarted"; "pickStopped": "pickStopped"; "pickUpStarted": "pickUpStarted"; "pickUpStopped": "pickUpStopped"; "pickDownStarted": "pickDownStarted"; "pickDownStopped": "pickDownStopped"; }, never, never, false, never>;
632
+ }
633
+
634
+ declare class HeaderComponent extends AppBaseComponent {
635
+ private readonly authService;
636
+ private readonly cdr;
637
+ loggedIn: boolean;
638
+ isMenuCollapsed: boolean;
639
+ constructor(injector: Injector, authService: AuthService, cdr: ChangeDetectorRef);
640
+ landing: boolean;
641
+ navigateToLogin(): void;
642
+ toggleMenu(): void;
643
+ logo: any;
644
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
645
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "pw-header", never, { "landing": { "alias": "landing"; "required": false; }; }, {}, never, never, false, never>;
646
+ }
647
+
648
+ declare class LandingPageFooterBComponent implements OnInit {
649
+ private readonly authService;
650
+ private readonly cdr;
651
+ isBrowserAccess: boolean;
652
+ currentDate: Date;
653
+ constructor(authService: AuthService, cdr: ChangeDetectorRef);
654
+ ngOnInit(): void;
655
+ scrollToTop(event: Event): void;
656
+ static ɵfac: i0.ɵɵFactoryDeclaration<LandingPageFooterBComponent, never>;
657
+ static ɵcmp: i0.ɵɵComponentDeclaration<LandingPageFooterBComponent, "pw-landing-page-footer-b", never, {}, {}, never, never, false, never>;
658
+ }
659
+
660
+ declare class NoDataComponent implements AfterContentInit {
661
+ content: {
662
+ nativeElement: {
663
+ innerHTML: string;
664
+ };
665
+ };
666
+ message: string | null;
667
+ description: string | null;
668
+ withImage: boolean;
669
+ isContentEmpty: boolean;
670
+ ngAfterContentInit(): void;
671
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoDataComponent, never>;
672
+ static ɵcmp: i0.ɵɵComponentDeclaration<NoDataComponent, "pw-no-data", never, { "message": { "alias": "message"; "required": false; }; "description": { "alias": "description"; "required": false; }; "withImage": { "alias": "withImage"; "required": false; }; }, {}, ["content"], ["*"], false, never>;
673
+ }
674
+
675
+ declare class InputContainerComponent implements OnInit {
676
+ private readonly controlContainer;
677
+ control: AbstractControl;
678
+ name: string;
679
+ /** Id of the form control; used as the label's `for` attribute for accessibility. When not set, falls back to `name`. */
680
+ controlId: string;
681
+ /** When true, label gets id="{{ controlId }}-label" but no `for`; use with aria-labelledby on the control (e.g. quill-editor). */
682
+ useAriaLabelledbyOnly: boolean;
683
+ label: string;
684
+ labelClass: string;
685
+ tooltipPosition: string;
686
+ required: boolean;
687
+ errorMsg: string;
688
+ isReadOnly: boolean;
689
+ showTooltip: boolean;
690
+ tooltipText: string;
691
+ showTriangle: boolean;
692
+ afterLabel: string;
693
+ showAfterLabel: boolean;
694
+ showTriangleText: string;
695
+ isLeftTooltip: boolean;
696
+ constructor(controlContainer: ControlContainer);
697
+ ngOnInit(): void;
698
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputContainerComponent, [{ optional: true; host: true; skipSelf: true; }]>;
699
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputContainerComponent, "pw-input-container", never, { "name": { "alias": "name"; "required": false; }; "controlId": { "alias": "controlId"; "required": false; }; "useAriaLabelledbyOnly": { "alias": "useAriaLabelledbyOnly"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelClass": { "alias": "labelClass"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "errorMsg": { "alias": "errorMsg"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "showTriangle": { "alias": "showTriangle"; "required": false; }; "afterLabel": { "alias": "afterLabel"; "required": false; }; "showAfterLabel": { "alias": "showAfterLabel"; "required": false; }; "showTriangleText": { "alias": "showTriangleText"; "required": false; }; "isLeftTooltip": { "alias": "isLeftTooltip"; "required": false; }; }, {}, never, ["*"], false, never>;
700
+ }
701
+
702
+ declare class ResourceSharedComponentsModule {
703
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResourceSharedComponentsModule, never>;
704
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ResourceSharedComponentsModule, [typeof NoDataComponent, typeof InputContainerComponent], [typeof i37.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.AppLoaderModule, typeof i6.CoreTranslocoModule, typeof i7.DirectivesModule, typeof i8.ButtonModule, typeof i25.NgbTooltipModule, typeof i10.TooltipModule, typeof i11.ProgressSpinnerModule, typeof i12.AutoCompleteModule, typeof i13.DragDropModule, typeof i14.FieldErrorDisplayModule, typeof i14.ProfileImageCropperModule, typeof i14.ResourceHeaderModule], [typeof i14.ProfileImageCropperModule, typeof i14.ResourceHeaderModule, typeof InputContainerComponent, typeof NoDataComponent, typeof i8.ButtonModule, typeof i13.DragDropModule, typeof i11.ProgressSpinnerModule, typeof i12.AutoCompleteModule, typeof i10.TooltipModule, typeof i14.FieldErrorDisplayModule]>;
705
+ static ɵinj: i0.ɵɵInjectorDeclaration<ResourceSharedComponentsModule>;
706
+ }
707
+
708
+ /**
709
+ * pwCollapsibleSidebarTrigger
710
+ *
711
+ * Directive that makes an element a trigger for the collapsible sidebar.
712
+ * Useful for cog icons or buttons that should expand the sidebar when clicked.
713
+ *
714
+ * Usage:
715
+ * ```html
716
+ * <button pwCollapsibleSidebarTrigger [contentId]="'posiwise-brain'">
717
+ * <i class="pi pi-cog"></i>
718
+ * </button>
719
+ * ```
720
+ */
721
+ declare class CollapsibleSidebarTriggerDirective {
722
+ private readonly sidebarService;
723
+ /**
724
+ * The ID of the sidebar content to load when this trigger is clicked
725
+ */
726
+ contentId: string;
727
+ /**
728
+ * Optional tooltip text shown on hover
729
+ */
730
+ tooltipText: string;
731
+ constructor(sidebarService: CollapsibleSidebarService);
732
+ /**
733
+ * Handle click event to load sidebar content
734
+ */
735
+ onClick(event: MouseEvent): void;
736
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollapsibleSidebarTriggerDirective, never>;
737
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CollapsibleSidebarTriggerDirective, "[pwCollapsibleSidebarTrigger]", never, { "contentId": { "alias": "contentId"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; }, {}, never, never, true, never>;
738
+ }
739
+
740
+ declare class SharedComponentsModule {
741
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharedComponentsModule, never>;
742
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedComponentsModule, [typeof PasswordValidationComponent, typeof PwTabsComponent, typeof DateRangePickerComponent, typeof PermissionTreeComponent, typeof PrivacyAndTosComponent, typeof PrivacyPolicyComponent, typeof TermsConditionsComponent, typeof SplashComponent, typeof AuthenticatorComponent, typeof ClearBitIconComponent, typeof ComingSoonComponent, typeof CollapsibleSidebarComponent, typeof PwBrainChatComponent, typeof EntityGroupComponent, typeof GroupsComponent, typeof GroupDefinitionComponent, typeof NumberPickerComponent, typeof HeaderComponent, typeof LandingPageFooterBComponent], [typeof i4.FormsModule, typeof i5.AppLoaderModule, typeof i4.ReactiveFormsModule, typeof i7.DirectivesModule, typeof i6.CoreTranslocoModule, typeof i24.RouterModule, typeof i25.NgbTooltipModule, typeof i25.NgbNavModule, typeof i25.NgbModalModule, typeof i26.TableModule, typeof i27.TabsModule, typeof i8.ButtonModule, typeof i29.SelectModule, typeof i30.MultiSelectModule, typeof i11.ProgressSpinnerModule, typeof i12.AutoCompleteModule, typeof i33.ImageCropperModule, typeof i34.UiSwitchModule, typeof i35.NgxDaterangepickerMd, typeof i36.PipesModule, typeof i37.CommonModule, typeof i37.NgIf, typeof i14.FieldErrorDisplayModule, typeof ResourceSharedComponentsModule, typeof CollapsibleSidebarTriggerDirective], [typeof PasswordValidationComponent, typeof PwTabsComponent, typeof DateRangePickerComponent, typeof i25.NgbTooltipModule, typeof i25.NgbNavModule, typeof i25.NgbModalModule, typeof i26.TableModule, typeof i27.TabsModule, typeof i8.ButtonModule, typeof i29.SelectModule, typeof i30.MultiSelectModule, typeof i11.ProgressSpinnerModule, typeof i12.AutoCompleteModule, typeof i33.ImageCropperModule, typeof i34.UiSwitchModule, typeof i35.NgxDaterangepickerMd, typeof PermissionTreeComponent, typeof PrivacyAndTosComponent, typeof PrivacyPolicyComponent, typeof TermsConditionsComponent, typeof SplashComponent, typeof AuthenticatorComponent, typeof ClearBitIconComponent, typeof ComingSoonComponent, typeof CollapsibleSidebarComponent, typeof CollapsibleSidebarTriggerDirective, typeof PwBrainChatComponent, typeof EntityGroupComponent, typeof GroupsComponent, typeof GroupDefinitionComponent, typeof NumberPickerComponent, typeof HeaderComponent, typeof LandingPageFooterBComponent, typeof i14.FieldErrorDisplayModule, typeof ResourceSharedComponentsModule]>;
743
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharedComponentsModule>;
744
+ }
745
+
746
+ /**
747
+ * CollapsibleSidebarSuperAdminGuard
748
+ *
749
+ * RBAC guard to ensure only SuperAdmin users can access/trigger the collapsible sidebar.
750
+ *
751
+ * Usage in templates:
752
+ * ```html
753
+ * <button
754
+ * *ngIf="(superAdminGuard.canAccessSidebar$ | async)"
755
+ * pwCollapsibleSidebarTrigger
756
+ * [contentId]="'posiwise-brain'"
757
+ * >
758
+ * <i class="pi pi-cog"></i>
759
+ * </button>
760
+ * ```
761
+ *
762
+ * Usage in components:
763
+ * ```typescript
764
+ * canAccessSidebar$ = this.guard.canAccessSidebar$;
765
+ * ```
766
+ */
767
+ declare class CollapsibleSidebarSuperAdminGuard {
768
+ private readonly userService;
769
+ private readonly permissionService;
770
+ /**
771
+ * Emits true when the signed-in user has {@link PermissionService.isSuperAdmin}.
772
+ * UX-only; backend must still enforce permissions.
773
+ */
774
+ readonly canAccessSidebar$: rxjs.Observable<boolean>;
775
+ constructor(userService: UserService, permissionService: PermissionService);
776
+ /**
777
+ * Same rule as {@link PermissionService#isSuperAdmin}, safe when user is not loaded.
778
+ */
779
+ canAccessSidebar(): boolean;
780
+ private static userIsSuperAdmin;
781
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollapsibleSidebarSuperAdminGuard, never>;
782
+ static ɵprov: i0.ɵɵInjectableDeclaration<CollapsibleSidebarSuperAdminGuard>;
783
+ }
784
+
785
+ export { AuthenticatorComponent, ClearBitIconComponent, CollapsibleSidebarComponent, CollapsibleSidebarService, CollapsibleSidebarSuperAdminGuard, CollapsibleSidebarTriggerDirective, ComingSoonComponent, DateRangePickerComponent, EntityGroupComponent, GroupDefinitionComponent, GroupsComponent, HeaderComponent, InputContainerComponent, LandingPageFooterBComponent, NoDataComponent, NumberPickerComponent, PasswordValidationComponent, PermissionTreeComponent, PrivacyAndTosComponent, PrivacyPolicyComponent, PwBrainChatComponent, PwTabsComponent, ResourceSharedComponentsModule, SharedComponentsModule, SplashComponent, TermsConditionsComponent };
786
+ export type { SidebarContent };