@flusys/ng-shared 3.0.0 → 3.0.1

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/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@flusys/ng-shared",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Shared components and utilities for FLUSYS Angular packages",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
7
7
  "@angular/common": ">=21.0.0",
8
8
  "@angular/core": ">=21.0.0",
9
9
  "@angular/forms": ">=21.0.0",
10
- "@flusys/ng-core": ">=3.0.0",
10
+ "@flusys/ng-core": ">=3.0.1",
11
11
  "@primeuix/themes": ">=1.0.0",
12
12
  "primeicons": ">=7.0.0",
13
13
  "primeng": ">=21.0.0"
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import * as _angular_core from '@angular/core';
3
- import { Signal, Injector, ResourceRef, model, ElementRef, DestroyRef, InjectionToken } from '@angular/core';
3
+ import { Signal, Injector, ResourceRef, model, OnDestroy, ElementRef, TemplateRef, DestroyRef, InjectionToken } from '@angular/core';
4
4
  import * as i1 from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { ControlValueAccessor } from '@angular/forms';
@@ -41,25 +41,18 @@ import * as i31 from 'primeng/tabs';
41
41
  import * as i32 from 'primeng/tag';
42
42
  import * as i33 from 'primeng/textarea';
43
43
  import * as i34 from 'primeng/toast';
44
- import * as i35 from 'primeng/toggleswitch';
45
- import * as i36 from 'primeng/tooltip';
46
- import * as i37 from 'primeng/treetable';
44
+ import * as i35 from 'primeng/togglebutton';
45
+ import * as i36 from 'primeng/toggleswitch';
46
+ import * as i37 from 'primeng/tooltip';
47
+ import * as i38 from 'primeng/treetable';
48
+ import * as i39 from 'primeng/progressspinner';
49
+ import * as i40 from 'primeng/colorpicker';
47
50
  import * as _flusys_ng_shared from '@flusys/ng-shared';
48
51
  import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
49
52
  import { FormValueControl } from '@angular/forms/signals';
50
53
  import { MessageService, ConfirmationService } from 'primeng/api';
51
54
  import * as _flusys_ng_core from '@flusys/ng-core';
52
55
 
53
- /**
54
- * Centralized Permission Codes
55
- *
56
- * Single source of truth for all permission codes used across the application.
57
- * Use these constants instead of hardcoded strings to prevent typos and enable easy refactoring.
58
- *
59
- * Naming Convention: <entity>.<action>
60
- * - entity: The resource being accessed (e.g., user, role, company)
61
- * - action: The operation being performed (create, read, update, delete, assign)
62
- */
63
56
  declare const USER_PERMISSIONS: {
64
57
  readonly CREATE: "user.create";
65
58
  readonly READ: "user.read";
@@ -142,9 +135,24 @@ declare const FORM_PERMISSIONS: {
142
135
  readonly UPDATE: "form.update";
143
136
  readonly DELETE: "form.delete";
144
137
  };
145
- /**
146
- * All permission codes grouped by module
147
- */
138
+ declare const EVENT_PERMISSIONS: {
139
+ readonly CREATE: "event.create";
140
+ readonly READ: "event.read";
141
+ readonly UPDATE: "event.update";
142
+ readonly DELETE: "event.delete";
143
+ };
144
+ declare const EVENT_PARTICIPANT_PERMISSIONS: {
145
+ readonly CREATE: "event-participant.create";
146
+ readonly READ: "event-participant.read";
147
+ readonly UPDATE: "event-participant.update";
148
+ readonly DELETE: "event-participant.delete";
149
+ };
150
+ declare const NOTIFICATION_PERMISSIONS: {
151
+ readonly CREATE: "notification.create";
152
+ readonly READ: "notification.read";
153
+ readonly UPDATE: "notification.update";
154
+ readonly DELETE: "notification.delete";
155
+ };
148
156
  declare const PERMISSIONS: {
149
157
  readonly USER: {
150
158
  readonly CREATE: "user.create";
@@ -228,6 +236,24 @@ declare const PERMISSIONS: {
228
236
  readonly UPDATE: "form.update";
229
237
  readonly DELETE: "form.delete";
230
238
  };
239
+ readonly EVENT: {
240
+ readonly CREATE: "event.create";
241
+ readonly READ: "event.read";
242
+ readonly UPDATE: "event.update";
243
+ readonly DELETE: "event.delete";
244
+ };
245
+ readonly EVENT_PARTICIPANT: {
246
+ readonly CREATE: "event-participant.create";
247
+ readonly READ: "event-participant.read";
248
+ readonly UPDATE: "event-participant.update";
249
+ readonly DELETE: "event-participant.delete";
250
+ };
251
+ readonly NOTIFICATION: {
252
+ readonly CREATE: "notification.create";
253
+ readonly READ: "notification.read";
254
+ readonly UPDATE: "notification.update";
255
+ readonly DELETE: "notification.delete";
256
+ };
231
257
  };
232
258
  type PermissionCode = (typeof PERMISSIONS)[keyof typeof PERMISSIONS][keyof (typeof PERMISSIONS)[keyof typeof PERMISSIONS]];
233
259
 
@@ -945,26 +971,15 @@ declare class AngularModule {
945
971
 
946
972
  declare class PrimeModule {
947
973
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PrimeModule, never>;
948
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<PrimeModule, never, never, [typeof i1$1.AutoCompleteModule, typeof i2$1.AvatarModule, typeof i3$1.ButtonModule, typeof i4.CardModule, typeof i5.CheckboxModule, typeof i6.ConfirmDialogModule, typeof i7.DatePickerModule, typeof i8.DialogModule, typeof i9.DividerModule, typeof i10.FileUploadModule, typeof i11.IconFieldModule, typeof i12.ImageModule, typeof i13.InputIconModule, typeof i14.InputNumberModule, typeof i15.InputTextModule, typeof i16.ListboxModule, typeof i17.MultiSelectModule, typeof i18.PaginatorModule, typeof i19.PanelModule, typeof i20.PasswordModule, typeof i21.PopoverModule, typeof i22.ProgressBarModule, typeof i23.RadioButtonModule, typeof i24.RippleModule, typeof i25.SelectButtonModule, typeof i26.SelectModule, typeof i27.SkeletonModule, typeof i28.SplitButtonModule, typeof i29.StepsModule, typeof i30.TableModule, typeof i31.TabsModule, typeof i32.TagModule, typeof i33.TextareaModule, typeof i34.ToastModule, typeof i35.ToggleSwitchModule, typeof i36.TooltipModule, typeof i37.TreeTableModule]>;
974
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<PrimeModule, never, never, [typeof i1$1.AutoCompleteModule, typeof i2$1.AvatarModule, typeof i3$1.ButtonModule, typeof i4.CardModule, typeof i5.CheckboxModule, typeof i6.ConfirmDialogModule, typeof i7.DatePickerModule, typeof i8.DialogModule, typeof i9.DividerModule, typeof i10.FileUploadModule, typeof i11.IconFieldModule, typeof i12.ImageModule, typeof i13.InputIconModule, typeof i14.InputNumberModule, typeof i15.InputTextModule, typeof i16.ListboxModule, typeof i17.MultiSelectModule, typeof i18.PaginatorModule, typeof i19.PanelModule, typeof i20.PasswordModule, typeof i21.PopoverModule, typeof i22.ProgressBarModule, typeof i23.RadioButtonModule, typeof i24.RippleModule, typeof i25.SelectButtonModule, typeof i26.SelectModule, typeof i27.SkeletonModule, typeof i28.SplitButtonModule, typeof i29.StepsModule, typeof i30.TableModule, typeof i31.TabsModule, typeof i32.TagModule, typeof i33.TextareaModule, typeof i34.ToastModule, typeof i35.ToggleButtonModule, typeof i36.ToggleSwitchModule, typeof i37.TooltipModule, typeof i38.TreeTableModule, typeof i39.ProgressSpinnerModule, typeof i40.ColorPickerModule]>;
949
975
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<PrimeModule>;
950
976
  }
951
977
 
952
- /** Service names that can be used for feature-specific base URLs */
953
- type ServiceName = 'auth' | 'administration' | 'iam' | 'storage' | 'formBuilder' | 'email';
978
+ type ServiceName = 'auth' | 'administration' | 'iam' | 'storage' | 'formBuilder' | 'email' | 'eventManager' | 'notification';
954
979
 
955
980
  /**
956
981
  * Service interface for CRUD operations.
957
- * Matches NestJS shared API controller endpoints:
958
- *
959
- * | Angular Method | HTTP | NestJS Endpoint | Response Type |
960
- * |------------------|--------|------------------------|------------------------|
961
- * | insert() | POST | /{resource}/insert | ISingleResponse<T> |
962
- * | insertMany() | POST | /{resource}/insert-many| IBulkResponse<T> |
963
- * | findById() | POST | /{resource}/get/:id | ISingleResponse<T> |
964
- * | getAll() | POST | /{resource}/get-all | IListResponse<T> |
965
- * | update() | POST | /{resource}/update | ISingleResponse<T> |
966
- * | updateMany() | POST | /{resource}/update-many| IBulkResponse<T> |
967
- * | delete() | POST | /{resource}/delete | IMessageResponse |
982
+ * Matches NestJS shared API controller endpoints (all POST, RPC-style).
968
983
  */
969
984
  interface IApiService<DtoT, InterfaceT> {
970
985
  insert(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
@@ -978,51 +993,15 @@ interface IApiService<DtoT, InterfaceT> {
978
993
  /**
979
994
  * Abstract base class for API services using Angular 21 resource() API.
980
995
  * Provides signal-based reactive data fetching with automatic loading states.
981
- * Response types match FLUSYS_NEST backend DTOs.
982
- *
983
- * ## Endpoint Mapping
984
- *
985
- * All endpoints use POST method (RPC-style API):
986
- * - `POST /{resource}/insert` - Create single item
987
- * - `POST /{resource}/insert-many` - Create multiple items
988
- * - `POST /{resource}/get/:id` - Get single item by ID
989
- * - `POST /{resource}/get-all?q=` - List with pagination/filter
990
- * - `POST /{resource}/update` - Update single item
991
- * - `POST /{resource}/update-many` - Update multiple items
992
- * - `POST /{resource}/delete` - Delete/restore/permanent delete
993
996
  *
994
997
  * @example
995
998
  * ```typescript
996
- * // Define service with global apiBaseUrl
997
999
  * @Injectable({ providedIn: 'root' })
998
1000
  * export class UserService extends ApiResourceService<UserDto, User> {
999
1001
  * constructor() {
1000
1002
  * super('auth/users', inject(HttpClient));
1001
1003
  * }
1002
1004
  * }
1003
- *
1004
- * // Define service with feature-specific baseUrl
1005
- * @Injectable({ providedIn: 'root' })
1006
- * export class FormService extends ApiResourceService<FormDto, Form> {
1007
- * constructor() {
1008
- * super('form', inject(HttpClient), 'formBuilder');
1009
- * // URL: services.formBuilder.baseUrl + '/form'
1010
- * }
1011
- * }
1012
- *
1013
- * // In component - use signals
1014
- * userService = inject(UserService);
1015
- * users = this.userService.data; // Signal<User[]>
1016
- * isLoading = this.userService.isLoading; // Signal<boolean>
1017
- * total = this.userService.total; // Signal<number>
1018
- *
1019
- * // Trigger fetch
1020
- * this.userService.fetchList('search', { pagination: { currentPage: 0, pageSize: 10 } });
1021
- *
1022
- * // CRUD operations
1023
- * await this.userService.insertAsync({ name: 'John', email: 'john@example.com' });
1024
- * await this.userService.updateAsync({ id: '123', name: 'John Updated' });
1025
- * await this.userService.deleteAsync({ id: '123', type: 'delete' });
1026
1005
  * ```
1027
1006
  */
1028
1007
  declare abstract class ApiResourceService<DtoT, InterfaceT> implements IApiService<DtoT, InterfaceT> {
@@ -1030,149 +1009,41 @@ declare abstract class ApiResourceService<DtoT, InterfaceT> implements IApiServi
1030
1009
  protected readonly injector: Injector;
1031
1010
  protected readonly http: HttpClient;
1032
1011
  protected readonly moduleApiName: string;
1033
- /** Current search term */
1034
1012
  readonly searchTerm: _angular_core.WritableSignal<string>;
1035
- /** Current filter and pagination state */
1036
1013
  readonly filterData: _angular_core.WritableSignal<IFilterData>;
1037
- /**
1038
- * Resource for list data - lazy initialized to prevent auto-fetch on service injection.
1039
- * Call initListResource() or any list method (fetchList, reload, etc.) to initialize.
1040
- */
1041
1014
  private _listResource;
1042
- /** Whether the list resource has been initialized */
1043
1015
  private _resourceInitialized;
1044
- /**
1045
- * Signal to track resource initialization for computed signals.
1046
- * This allows computed signals to re-evaluate when the resource is created.
1047
- * Without this, computed signals would not detect when _listResource changes from null.
1048
- */
1049
1016
  private readonly _resourceInitSignal;
1050
- /** Get or create the list resource (lazy initialization) */
1051
1017
  get listResource(): ResourceRef<IListResponse<InterfaceT> | undefined>;
1052
- /**
1053
- * Initialize the list resource. Called automatically when accessing listResource
1054
- * or any list-related computed signals/methods.
1055
- * Uses runInInjectionContext to support lazy initialization outside constructor.
1056
- */
1057
1018
  initListResource(): void;
1058
- /**
1059
- * Whether data is currently loading.
1060
- * Tracks _resourceInitSignal to re-evaluate when resource is created.
1061
- */
1062
1019
  readonly isLoading: _angular_core.Signal<boolean>;
1063
- /**
1064
- * List data array.
1065
- * Tracks _resourceInitSignal to re-evaluate when resource is created.
1066
- */
1067
1020
  readonly data: _angular_core.Signal<InterfaceT[]>;
1068
- /**
1069
- * Total count of items.
1070
- * Tracks _resourceInitSignal to re-evaluate when resource is created.
1071
- */
1072
1021
  readonly total: _angular_core.Signal<number>;
1073
- /**
1074
- * Pagination metadata.
1075
- * Tracks _resourceInitSignal to re-evaluate when resource is created.
1076
- */
1077
1022
  readonly pageInfo: _angular_core.Signal<_flusys_ng_shared.IPaginationMeta | undefined>;
1078
- /**
1079
- * Whether there are more pages.
1080
- * Tracks _resourceInitSignal to re-evaluate when resource is created.
1081
- */
1082
1023
  readonly hasMore: _angular_core.Signal<boolean>;
1083
- /**
1084
- * @param moduleApiName - The API resource path (e.g., 'form' for /form-builder/form)
1085
- * @param http - HttpClient instance
1086
- * @param serviceName - Optional service name for feature-specific base URL (e.g., 'formBuilder')
1087
- */
1088
1024
  constructor(moduleApiName: string, http: HttpClient, serviceName?: ServiceName);
1089
1025
  protected getHttpOptions(endpoint: string, params?: HttpParams): {
1090
1026
  params?: HttpParams | undefined;
1091
1027
  headers: HttpHeaders;
1092
1028
  };
1093
- /**
1094
- * Fetch list data (triggers resource initialization and reload)
1095
- */
1096
1029
  fetchList(search?: string, filter?: Partial<IFilterData>): void;
1097
- /**
1098
- * Update pagination
1099
- */
1100
1030
  setPagination(pagination: IPagination): void;
1101
- /**
1102
- * Go to next page
1103
- */
1104
1031
  nextPage(): void;
1105
- /**
1106
- * Reset to first page
1107
- */
1108
1032
  resetPagination(): void;
1109
- /**
1110
- * Reload current data
1111
- */
1112
1033
  reload(): void;
1113
- /**
1114
- * Insert single item (Observable)
1115
- * POST /{resource}/insert
1116
- */
1117
1034
  insert(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
1118
- /**
1119
- * Insert multiple items (Observable)
1120
- * POST /{resource}/insert-many
1121
- */
1122
1035
  insertMany(dtos: DtoT[]): Observable<IBulkResponse<InterfaceT>>;
1123
- /**
1124
- * Find single item by ID (Observable)
1125
- * POST /{resource}/get/:id
1126
- */
1127
1036
  findById(id: string, select?: string[]): Observable<ISingleResponse<InterfaceT>>;
1128
- /**
1129
- * Get all items with pagination (Observable)
1130
- * POST /{resource}/get-all?q=search
1131
- */
1132
1037
  getAll(search: string, filter: IFilterData): Observable<IListResponse<InterfaceT>>;
1133
- /**
1134
- * Update single item (Observable)
1135
- * POST /{resource}/update
1136
- */
1137
1038
  update(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
1138
- /**
1139
- * Update multiple items (Observable)
1140
- * POST /{resource}/update-many
1141
- */
1142
1039
  updateMany(dtos: DtoT[]): Observable<IBulkResponse<InterfaceT>>;
1143
- /**
1144
- * Delete items (Observable)
1145
- * POST /{resource}/delete
1146
- * @param deleteDto - { id: string | string[], type: 'delete' | 'restore' | 'permanent' }
1147
- */
1148
1040
  delete(deleteDto: IDeleteData): Observable<IMessageResponse>;
1149
- /**
1150
- * Fetch paginated list (async)
1151
- */
1152
- protected fetchAllAsync(search: string, filter: IFilterData): Promise<IListResponse<InterfaceT>>;
1153
- /**
1154
- * Find single item by ID (async)
1155
- */
1041
+ getAllAsync(filter: IFilterData, search?: string): Promise<IListResponse<InterfaceT>>;
1156
1042
  findByIdAsync(id: string, select?: string[]): Promise<ISingleResponse<InterfaceT>>;
1157
- /**
1158
- * Insert single item (async)
1159
- */
1160
1043
  insertAsync(dto: DtoT): Promise<ISingleResponse<InterfaceT>>;
1161
- /**
1162
- * Insert multiple items (async)
1163
- */
1164
1044
  insertManyAsync(dtos: DtoT[]): Promise<IBulkResponse<InterfaceT>>;
1165
- /**
1166
- * Update single item (async)
1167
- */
1168
1045
  updateAsync(dto: DtoT): Promise<ISingleResponse<InterfaceT>>;
1169
- /**
1170
- * Update multiple items (async)
1171
- */
1172
1046
  updateManyAsync(dtos: DtoT[]): Promise<IBulkResponse<InterfaceT>>;
1173
- /**
1174
- * Delete items (async)
1175
- */
1176
1047
  deleteAsync(deleteDto: IDeleteData): Promise<IMessageResponse>;
1177
1048
  }
1178
1049
 
@@ -1282,11 +1153,13 @@ declare class IconComponent {
1282
1153
  * - Reactive forms: `[formControl]="ctrl"` or `formControlName="field"`
1283
1154
  * - Signal forms: `[formField]="formTree.field"`
1284
1155
  */
1285
- declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> {
1286
- private readonly destroyRef;
1156
+ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> implements OnDestroy {
1157
+ private readonly document;
1158
+ private readonly appRef;
1287
1159
  private readonly onDocumentClickBound;
1288
- private isDestroyed;
1289
1160
  readonly pSelectRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
1161
+ readonly overlayTemplate: _angular_core.Signal<TemplateRef<unknown>>;
1162
+ private overlayViewRef;
1290
1163
  readonly placeHolder: _angular_core.InputSignal<string>;
1291
1164
  readonly isEditMode: _angular_core.InputSignal<boolean>;
1292
1165
  readonly isLoading: _angular_core.InputSignal<boolean>;
@@ -1301,12 +1174,14 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
1301
1174
  readonly selectedValueDisplay: _angular_core.Signal<string>;
1302
1175
  readonly isSelectAll: _angular_core.Signal<boolean>;
1303
1176
  constructor();
1177
+ ngOnDestroy(): void;
1304
1178
  onScroll(event: Event): void;
1305
- onSelectClick(event: Event): void;
1179
+ onSelectClick(): void;
1180
+ private openOverlay;
1181
+ private closeOverlay;
1306
1182
  onOverlayClick(event: Event): void;
1307
1183
  private handleDocumentClick;
1308
1184
  isSelected(data: IDropDown): boolean;
1309
- key(option: IDropDown): string;
1310
1185
  selectValue(event: CheckboxChangeEvent, option: IDropDown): void;
1311
1186
  changeSelectAll(event: CheckboxChangeEvent): void;
1312
1187
  clear(event: Event): void;
@@ -2037,5 +1912,5 @@ interface ScrollPaginationConfig {
2037
1912
  */
2038
1913
  declare function checkScrollPagination(event: Event, config: ScrollPaginationConfig): IPagination | null;
2039
1914
 
2040
- export { ACTION_PERMISSIONS, AUTH_STATE_PROVIDER, AngularModule, ApiResourceService, ApiResourceService as ApiService, BRANCH_PERMISSIONS, BaseFormControl, BaseFormPage, BaseListPage, BaseUserSelectComponent, COMPANY_ACTION_PERMISSIONS, COMPANY_API_PROVIDER, COMPANY_PERMISSIONS, ContactTypeEnum, CookieService, EMAIL_CONFIG_PERMISSIONS, EMAIL_TEMPLATE_PERMISSIONS, EditModeElementChangerDirective, FILE_PERMISSIONS, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, IsEmptyImageDirective, LazyMultiSelectComponent, LazySelectComponent, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PROFILE_UPLOAD_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, PrimeModule, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, STORAGE_CONFIG_PERMISSIONS, USER_ACTION_PERMISSIONS, USER_LIST_PROVIDER, USER_PERMISSIONS, USER_PERMISSION_PROVIDER, USER_PROVIDER, USER_ROLE_PERMISSIONS, UserMultiSelectComponent, UserSelectComponent, allPermissionsGuard, anyPermissionGuard, checkScrollPagination, evaluateLogicNode, evaluatePermission, formatFileSize, getAcceptString, getFileIconClass, hasAllPermissions, hasAnyPermission, hasPermission, isFileTypeAllowed, permissionGuard, provideValueAccessor };
1915
+ export { ACTION_PERMISSIONS, AUTH_STATE_PROVIDER, AngularModule, ApiResourceService, ApiResourceService as ApiService, BRANCH_PERMISSIONS, BaseFormControl, BaseFormPage, BaseListPage, BaseUserSelectComponent, COMPANY_ACTION_PERMISSIONS, COMPANY_API_PROVIDER, COMPANY_PERMISSIONS, ContactTypeEnum, CookieService, EMAIL_CONFIG_PERMISSIONS, EMAIL_TEMPLATE_PERMISSIONS, EVENT_PARTICIPANT_PERMISSIONS, EVENT_PERMISSIONS, EditModeElementChangerDirective, FILE_PERMISSIONS, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, IsEmptyImageDirective, LazyMultiSelectComponent, LazySelectComponent, NOTIFICATION_PERMISSIONS, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PROFILE_UPLOAD_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, PrimeModule, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, STORAGE_CONFIG_PERMISSIONS, USER_ACTION_PERMISSIONS, USER_LIST_PROVIDER, USER_PERMISSIONS, USER_PERMISSION_PROVIDER, USER_PROVIDER, USER_ROLE_PERMISSIONS, UserMultiSelectComponent, UserSelectComponent, allPermissionsGuard, anyPermissionGuard, checkScrollPagination, evaluateLogicNode, evaluatePermission, formatFileSize, getAcceptString, getFileIconClass, hasAllPermissions, hasAnyPermission, hasPermission, isFileTypeAllowed, permissionGuard, provideValueAccessor };
2041
1916
  export type { ApiResponse, DeleteType, FilesResponseDto, GetFileUrlsFn, IActionNode, IActivatable, IApiService, IAuthStateProvider, IBaseEntity, IBulkMeta, IBulkResponse, ICompanyApiProvider, ICompanyBasicInfo, IDeleteData, IDropDown, IErrorResponse, IFileBasicInfo, IFileData, IFileSelectFilter, IFileUploadOptions, IFilter, IFilterData, IGroupNode, IListResponse, ILoggedUserInfo, ILogicNode, ILoginResponse, ILoginUserData, IMessageResponse, IMetadata, IOrderable, IPagination, IPaginationMeta, IProfileActionInfo, IProfilePermissionProvider, IProfileRoleInfo, IProfileUploadOptions, IProfileUploadProvider, IProfileUploadResult, IRefreshTokenResponse, IRequestMeta, ISingleResponse, ISoftDeletable, ISort, ITimestampable, IUploadedFile, IUserBasicInfo, IUserBranchPayload, IUserBranchPermission, IUserCompanyPayload, IUserListAction, IUserListColumn, IUserListFilter, IUserListItem, IUserListProvider, IUserPermissionProvider, IUserProvider, IUserSelectFilter, IValidationError, LoadFilesFn, LoadUsersFn, PermissionCode, ScrollPaginationConfig, ServiceName, UploadFileFn };