@posiwise/shared-components 0.0.157 → 0.0.159

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