ichec-angular-core 0.2.6 → 0.3.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.
@@ -2,18 +2,18 @@ import { FormGroup, FormControl, FormArray, FormBuilder, AbstractControl } from
2
2
  import { Observable, BehaviorSubject } from 'rxjs';
3
3
  import { HttpClient, HttpParams, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
4
4
  import * as _angular_core from '@angular/core';
5
- import { InjectionToken, AfterViewInit, OnInit, TemplateRef } from '@angular/core';
5
+ import { InjectionToken, OnInit, TemplateRef, AfterViewInit } from '@angular/core';
6
6
  import { CookieService } from 'ngx-cookie-service';
7
- import * as ichec_angular_core from 'ichec-angular-core';
8
- import { MatSidenavContent } from '@angular/material/sidenav';
9
7
  import { Location } from '@angular/common';
10
8
  import { ActivatedRoute } from '@angular/router';
11
9
  import { MatDialog } from '@angular/material/dialog';
12
10
  import { MatTable } from '@angular/material/table';
11
+ import * as ichec_angular_core from 'ichec-angular-core';
13
12
  import { MatSort } from '@angular/material/sort';
14
- import { MatPaginator } from '@angular/material/paginator';
15
- import { DataSource, CollectionViewer, ListRange } from '@angular/cdk/collections';
16
13
  import { MatButtonToggleChange } from '@angular/material/button-toggle';
14
+ import { DataSource, CollectionViewer, ListRange } from '@angular/cdk/collections';
15
+ import { MatPaginator } from '@angular/material/paginator';
16
+ import { MatSidenavContent } from '@angular/material/sidenav';
17
17
 
18
18
  interface Identifiable {
19
19
  id: number;
@@ -181,6 +181,24 @@ interface IRestOptions {
181
181
  actions?: Record<string, Record<string, OptionAction>>;
182
182
  }
183
183
 
184
+ interface IFileRecord {
185
+ name: string;
186
+ display_name: string;
187
+ file_type: string;
188
+ file: File | null;
189
+ remote: string;
190
+ local: string | ArrayBuffer;
191
+ }
192
+ declare class FileRecord {
193
+ name: string;
194
+ display_name: string;
195
+ file_type: string;
196
+ file: File | null;
197
+ remote: string;
198
+ local: string | ArrayBuffer;
199
+ constructor(params?: Partial<IFileRecord>);
200
+ }
201
+
184
202
  interface TypeChoice {
185
203
  value: string;
186
204
  display_name: string;
@@ -242,6 +260,11 @@ interface IFormUpdate {
242
260
  id: number;
243
261
  groups: IFormGroupBase[];
244
262
  }
263
+ interface IFileField {
264
+ id: number;
265
+ file: IFileRecord;
266
+ }
267
+ declare function getFileFieldIds(form: IFormDetail): number[];
245
268
  interface IFormFieldValueBase {
246
269
  value: string;
247
270
  asset: string | null;
@@ -297,7 +320,7 @@ declare const REST_SERVICE_CONFIG: InjectionToken<RestServiceConfig>;
297
320
  declare class RestService<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
298
321
  manifest: IServerManifest;
299
322
  readonly _url: string;
300
- protected config: RestServiceConfig;
323
+ config: RestServiceConfig;
301
324
  protected _http: HttpClient;
302
325
  protected cookieService: CookieService;
303
326
  deleteItem(id: number): Observable<void>;
@@ -346,17 +369,18 @@ declare class UserService extends ItemService<IPortalMemberDetail, IPortalMember
346
369
  readonly _url: string;
347
370
  typename: string;
348
371
  private permissions;
349
- login(next?: string): Observable<IPortalMemberDetail | null>;
350
- private _getServiceManifest;
351
- private _getSelf;
352
- private _login;
353
- private _do_login_redirect;
372
+ login(next?: string): void;
354
373
  logout(next?: string): void;
374
+ getSelf(): Observable<IPortalMemberDetail | null>;
375
+ private _getSelf;
376
+ private _selfFetchFailed;
377
+ private _getServiceManifest;
378
+ private _do_login;
355
379
  hasAddPermission(feature: string): boolean;
356
380
  hasDeletePermission(feature: string): boolean;
357
381
  hasEditPermission(feature: string): boolean;
358
382
  hasViewPermission(feature: string): boolean;
359
- private onLoggedIn;
383
+ private onSelf;
360
384
  private parsePermission;
361
385
  private processPermissions;
362
386
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserService, never>;
@@ -378,33 +402,6 @@ declare class ItemWithUserService<D extends Identifiable, L extends Identifiable
378
402
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ItemWithUserService<any, any, any, any>>;
379
403
  }
380
404
 
381
- declare class AddressService extends ItemWithUserService<IAddressDetail, IAddressList, IAddressCreate> {
382
- readonly _url: string;
383
- typename: string;
384
- countryOptions: _angular_core.WritableSignal<ICountry[]>;
385
- refreshCountryOptions(): void;
386
- protected onOptions(options: IRestOptions): void;
387
- protected onPostActions(actions: Record<string, OptionAction>): void;
388
- protected onCountryChoices(choices: OptionActionChoice[]): void;
389
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressService, never>;
390
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AddressService>;
391
- }
392
-
393
- declare class GroupService extends ItemWithUserService<IGroupDetail, IGroupList, IGroupCreate> {
394
- readonly _url: string;
395
- typename: string;
396
- constructor();
397
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupService, never>;
398
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupService>;
399
- }
400
-
401
- declare class OrganizationService extends ItemWithUserService<IOrganizationDetail, IOrganizationList, IOrganizationCreate> {
402
- readonly _url: string;
403
- typename: string;
404
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationService, never>;
405
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<OrganizationService>;
406
- }
407
-
408
405
  interface IFieldFile {
409
406
  id: number;
410
407
  asset: IFileRecord;
@@ -445,40 +442,38 @@ declare class LeftNavService {
445
442
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<LeftNavService>;
446
443
  }
447
444
 
448
- declare class MockItemService {
449
- canEdit(): boolean;
450
- canDelete(): boolean;
451
- canCreate(): boolean;
452
- typePlural(): string;
453
- }
454
-
455
- declare class TopBarComponent {
456
- readonly title: _angular_core.InputSignal<string | undefined>;
457
- readonly user: _angular_core.InputSignal<ichec_angular_core.IPortalMemberList>;
458
- private userService;
459
- onLogout(): void;
460
- get initials(): string;
461
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
462
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopBarComponent, "lib-top-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
445
+ declare class AddressService extends ItemWithUserService<IAddressDetail, IAddressList, IAddressCreate> {
446
+ readonly _url: string;
447
+ typename: string;
448
+ countryOptions: _angular_core.WritableSignal<ICountry[]>;
449
+ refreshCountryOptions(): void;
450
+ protected onOptions(options: IRestOptions): void;
451
+ protected onPostActions(actions: Record<string, OptionAction>): void;
452
+ protected onCountryChoices(choices: OptionActionChoice[]): void;
453
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressService, never>;
454
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AddressService>;
463
455
  }
464
456
 
465
- declare class LeftNavComponent {
466
- protected _leftNavService: LeftNavService;
467
- sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
468
- getOptions(): _angular_core.WritableSignal<Set<ichec_angular_core.NavOption>>;
469
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
470
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, {}, {}, never, never, true, never>;
457
+ declare class GroupService extends ItemWithUserService<IGroupDetail, IGroupList, IGroupCreate> {
458
+ readonly _url: string;
459
+ typename: string;
460
+ constructor();
461
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupService, never>;
462
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupService>;
471
463
  }
472
464
 
473
- declare class FeedbackComponent {
474
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
475
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackComponent, "lib-feedback", never, {}, {}, never, never, true, never>;
465
+ declare class OrganizationService extends ItemWithUserService<IOrganizationDetail, IOrganizationList, IOrganizationCreate> {
466
+ readonly _url: string;
467
+ typename: string;
468
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationService, never>;
469
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<OrganizationService>;
476
470
  }
477
471
 
478
- declare class AvatarComponent {
479
- text: _angular_core.InputSignal<string>;
480
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
481
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "lib-avatar", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
472
+ declare class MockItemService {
473
+ canEdit(): boolean;
474
+ canDelete(): boolean;
475
+ canCreate(): boolean;
476
+ typePlural(): string;
482
477
  }
483
478
 
484
479
  declare abstract class DetailView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -490,33 +485,16 @@ declare abstract class DetailView<D extends Identifiable, L extends Identifiable
490
485
  readonly deleteDialog: MatDialog;
491
486
  constructor(itemService: ItemService<D, L, C, U>);
492
487
  onInit(): void;
488
+ onSelection(id: number | null): void;
493
489
  title(): string;
494
490
  onItemAvailable(item: D): void;
495
491
  onItemAndUserAvailable(_item: D, _user: IPortalMemberDetail): void;
496
- private getItem;
497
492
  onDeleteClicked(): void;
498
493
  onDelete(): void;
499
494
  goBack(): void;
500
495
  protected canEdit(): boolean;
501
496
  protected canDelete(): boolean;
502
- }
503
-
504
- interface IFileRecord {
505
- name: string;
506
- display_name: string;
507
- file_type: string;
508
- file: File | null;
509
- remote: string;
510
- local: string | ArrayBuffer;
511
- }
512
- declare class FileRecord {
513
- name: string;
514
- display_name: string;
515
- file_type: string;
516
- file: File | null;
517
- remote: string;
518
- local: string | ArrayBuffer;
519
- constructor(params?: Partial<IFileRecord>);
497
+ private _getItem;
520
498
  }
521
499
 
522
500
  declare abstract class EditView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -556,6 +534,99 @@ declare abstract class EditView<D extends Identifiable, L extends Identifiable,
556
534
  protected onPostActions(_actions: Record<string, OptionAction>): void;
557
535
  }
558
536
 
537
+ interface TableColumn {
538
+ name: string;
539
+ title: string;
540
+ element_type: string;
541
+ }
542
+
543
+ interface Selectable<T extends Identifiable> {
544
+ title: string;
545
+ item: T;
546
+ }
547
+ declare class SelectTableComponent<T extends Identifiable> implements OnInit {
548
+ itemType: _angular_core.InputSignal<string>;
549
+ selected: _angular_core.InputSignal<T[]>;
550
+ options: _angular_core.InputSignal<Selectable<T>[]>;
551
+ columns: _angular_core.InputSignal<TableColumn[]>;
552
+ itemAdded: _angular_core.OutputEmitterRef<string>;
553
+ itemRemoved: _angular_core.OutputEmitterRef<number>;
554
+ searchChanged: _angular_core.OutputEmitterRef<string | null>;
555
+ itemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null | undefined>;
556
+ columnNames: _angular_core.Signal<string[]>;
557
+ searchControl: FormControl<string | null>;
558
+ table: _angular_core.Signal<MatTable<any> | undefined>;
559
+ ngOnInit(): void;
560
+ remove(id: number): void;
561
+ add(): void;
562
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
563
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectTableComponent<any>, "lib-select-table", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; }, { "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "searchChanged": "searchChanged"; }, never, never, true, never>;
564
+ }
565
+
566
+ declare abstract class SelectionManager<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
567
+ candidates: _angular_core.WritableSignal<Selectable<L>[]>;
568
+ selected: _angular_core.WritableSignal<L[]>;
569
+ columns: TableColumn[];
570
+ itemService: ItemService<D, L, C, U>;
571
+ constructor(itemService: ItemService<D, L, C, U>);
572
+ fetchCandidates(item: string, id: number): void;
573
+ protected updateCandidates(items: IPaginated<L>): void;
574
+ abstract toSelectable(item: L): Selectable<L>;
575
+ onRemoved(id: number): string;
576
+ onAdded(title: string): string;
577
+ abstract hasTitle(item: L, title: string): boolean;
578
+ onSearchChanged(searchTerm: string | null): void;
579
+ }
580
+ declare class MemberSelectionManager extends SelectionManager<IPortalMemberDetail> {
581
+ columns: TableColumn[];
582
+ constructor();
583
+ toSelectable(item: IPortalMemberDetail): Selectable<IPortalMemberDetail>;
584
+ hasTitle(item: IPortalMemberDetail, title: string): boolean;
585
+ }
586
+
587
+ declare class BackButtonComponent {
588
+ protected location: Location;
589
+ protected goBack(): void;
590
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
591
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
592
+ }
593
+
594
+ declare class DetailHeaderComponent {
595
+ id: _angular_core.InputSignal<number>;
596
+ text: _angular_core.InputSignal<string>;
597
+ route: _angular_core.InputSignal<string>;
598
+ canEdit: _angular_core.InputSignal<boolean>;
599
+ canDelete: _angular_core.InputSignal<boolean>;
600
+ deleteClicked: _angular_core.OutputEmitterRef<void>;
601
+ fullRoute: _angular_core.Signal<string>;
602
+ deleteClick(): void;
603
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
604
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailHeaderComponent, "lib-detail-header", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "route": { "alias": "route"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "canDelete": { "alias": "canDelete"; "required": false; "isSignal": true; }; }, { "deleteClicked": "deleteClicked"; }, never, never, true, never>;
605
+ }
606
+
607
+ declare class SearchBarComponent implements AfterViewInit {
608
+ itemType: _angular_core.InputSignal<string>;
609
+ sortFields: _angular_core.InputSignal<string[]>;
610
+ sortAscending: _angular_core.WritableSignal<boolean>;
611
+ searchChanged: _angular_core.OutputEmitterRef<string>;
612
+ searchFilter: FormControl<any>;
613
+ ngAfterViewInit(): void;
614
+ clearSearch(): void;
615
+ searchEntered(): void;
616
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
617
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "lib-search-bar", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; }, { "searchChanged": "searchChanged"; }, never, never, true, never>;
618
+ }
619
+
620
+ declare class FileUploadComponent {
621
+ control: _angular_core.InputSignal<FormControl<IFileRecord>>;
622
+ protected onFileUpload(event: Event): void;
623
+ protected onFileUploaded(file: File): void;
624
+ protected onPreviewLoaded(preview: string | ArrayBuffer): void;
625
+ protected onClearLocal(): void;
626
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
627
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
628
+ }
629
+
559
630
  declare class FormFieldDetailComponent {
560
631
  readonly field: _angular_core.InputSignal<IFormFieldDetail>;
561
632
  form: _angular_core.InputSignal<FormGroup<any>>;
@@ -594,16 +665,6 @@ declare class FormFieldEditComponent {
594
665
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldEditComponent, "lib-form-field-edit", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "editMode": { "alias": "editMode"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; "cancelled": "cancelled"; }, never, never, true, never>;
595
666
  }
596
667
 
597
- declare class DynamicFormComponent {
598
- private readonly formService;
599
- readonly inputForm: _angular_core.InputSignal<IFormDetail>;
600
- readonly form: _angular_core.Signal<FormGroup<any>>;
601
- payLoad: string;
602
- onSubmit(): void;
603
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
604
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormComponent, "lib-dynamic-form", never, { "inputForm": { "alias": "inputForm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
605
- }
606
-
607
668
  interface IFormGroupForm {
608
669
  label: FormControl<string | null>;
609
670
  description: FormControl<string | null>;
@@ -620,6 +681,7 @@ declare class DynamicFormForm {
620
681
  form: FormGroup<IDynamicFormForm>;
621
682
  constructor();
622
683
  get groups(): FormArray<FormGroup<IFormGroupForm>>;
684
+ getFileFields(form: IFormDetail): IFileField[];
623
685
  orderUp(id: number): void;
624
686
  orderDown(id: number): void;
625
687
  reorder(id: number, newIndex: number): void;
@@ -636,25 +698,6 @@ declare class DynamicFormForm {
636
698
  updateItem(item: IFormDetail): IFormCreate | IFormUpdate;
637
699
  }
638
700
 
639
- declare class DynamicFormBuilderComponent {
640
- form: _angular_core.InputSignal<DynamicFormForm>;
641
- handleSubmit: _angular_core.InputSignal<boolean>;
642
- submitted: _angular_core.OutputEmitterRef<void>;
643
- dirty: _angular_core.WritableSignal<boolean>;
644
- fb: FormBuilder;
645
- groupForm: FormGroup<IFormGroupForm> | null;
646
- addGroup(): void;
647
- createGroup(): void;
648
- cancelGroup(): void;
649
- onSubmit(): void;
650
- deleteGroup(id: number): void;
651
- onOrderUp(id: number): void;
652
- onOrderDown(id: number): void;
653
- getLabel(control: AbstractControl): string;
654
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormBuilderComponent, never>;
655
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormBuilderComponent, "lib-dynamic-form-builder", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "handleSubmit": { "alias": "handleSubmit"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; }, never, never, true, never>;
656
- }
657
-
658
701
  interface IFormFieldValueForm {
659
702
  value: FormControl<string | null>;
660
703
  id: FormControl<number | null>;
@@ -683,6 +726,35 @@ declare class PopulatedFormForm {
683
726
  updateItem(item: IPopulatedFormDetail): IPopulatedFormDetail;
684
727
  }
685
728
 
729
+ declare class DynamicFormComponent {
730
+ private readonly formService;
731
+ readonly inputForm: _angular_core.InputSignal<IFormDetail>;
732
+ readonly form: _angular_core.Signal<FormGroup<any>>;
733
+ payLoad: string;
734
+ onSubmit(): void;
735
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
736
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormComponent, "lib-dynamic-form", never, { "inputForm": { "alias": "inputForm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
737
+ }
738
+
739
+ declare class DynamicFormBuilderComponent {
740
+ form: _angular_core.InputSignal<DynamicFormForm>;
741
+ handleSubmit: _angular_core.InputSignal<boolean>;
742
+ submitted: _angular_core.OutputEmitterRef<void>;
743
+ dirty: _angular_core.WritableSignal<boolean>;
744
+ fb: FormBuilder;
745
+ groupForm: FormGroup<IFormGroupForm> | null;
746
+ addGroup(): void;
747
+ createGroup(): void;
748
+ cancelGroup(): void;
749
+ onSubmit(): void;
750
+ deleteGroup(id: number): void;
751
+ onOrderUp(id: number): void;
752
+ onOrderDown(id: number): void;
753
+ getLabel(control: AbstractControl): string;
754
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormBuilderComponent, never>;
755
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormBuilderComponent, "lib-dynamic-form-builder", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "handleSubmit": { "alias": "handleSubmit"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; }, never, never, true, never>;
756
+ }
757
+
686
758
  declare class PopulatedFormComponent {
687
759
  form: _angular_core.InputSignal<IPopulatedFormDetail>;
688
760
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopulatedFormComponent, never>;
@@ -717,75 +789,13 @@ declare class ListDataSource<D extends Identifiable, L extends Identifiable, C =
717
789
  disconnect(): void;
718
790
  }
719
791
 
720
- interface TableColumn {
721
- name: string;
722
- title: string;
723
- element_type: string;
724
- }
725
- declare class ListTableViewComponent implements AfterViewInit {
726
- itemType: _angular_core.InputSignal<string>;
727
- columns: _angular_core.InputSignal<TableColumn[]>;
728
- dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
729
- searchFilter: _angular_core.InputSignal<string>;
730
- pageSizeOptions: number[];
731
- initialPageSize: number;
732
- columnNames: _angular_core.Signal<string[]>;
733
- sort: _angular_core.Signal<MatSort | undefined>;
734
- paginator: _angular_core.Signal<MatPaginator | undefined>;
735
- ngAfterViewInit(): void;
736
- reset(): void;
737
- fetch(): void;
738
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
739
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListTableViewComponent, "lib-list-table-view", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "searchFilter": { "alias": "searchFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
740
- }
741
-
742
- interface Selectable<T extends Identifiable> {
743
- title: string;
744
- item: T;
745
- }
746
- declare class SelectTableComponent<T extends Identifiable> implements OnInit {
747
- itemType: _angular_core.InputSignal<string>;
748
- selected: _angular_core.InputSignal<T[]>;
749
- options: _angular_core.InputSignal<Selectable<T>[]>;
750
- columns: _angular_core.InputSignal<TableColumn[]>;
751
- itemAdded: _angular_core.OutputEmitterRef<string>;
752
- itemRemoved: _angular_core.OutputEmitterRef<number>;
753
- searchChanged: _angular_core.OutputEmitterRef<string | null>;
754
- columnNames: _angular_core.Signal<string[]>;
755
- searchControl: FormControl<string | null>;
756
- table: _angular_core.Signal<MatTable<any> | undefined>;
757
- ngOnInit(): void;
758
- remove(id: number): void;
759
- add(): void;
760
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
761
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectTableComponent<any>, "lib-select-table", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "searchChanged": "searchChanged"; }, never, never, true, never>;
762
- }
763
-
764
- declare abstract class SelectionManager<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
765
- candidates: _angular_core.WritableSignal<Selectable<L>[]>;
766
- selected: _angular_core.WritableSignal<L[]>;
767
- columns: TableColumn[];
768
- itemService: ItemService<D, L, C, U>;
769
- constructor(itemService: ItemService<D, L, C, U>);
770
- fetchCandidates(item: string, id: number): void;
771
- protected updateCandidates(items: IPaginated<L>): void;
772
- abstract toSelectable(item: L): Selectable<L>;
773
- onRemoved(id: number): string;
774
- onAdded(title: string): string;
775
- abstract hasTitle(item: L, title: string): boolean;
776
- onSearchChanged(searchTerm: string | null): void;
777
- }
778
- declare class MemberSelectionManager extends SelectionManager<IPortalMemberDetail> {
779
- columns: TableColumn[];
780
- constructor();
781
- toSelectable(item: IPortalMemberDetail): Selectable<IPortalMemberDetail>;
782
- hasTitle(item: IPortalMemberDetail, title: string): boolean;
783
- }
784
-
785
792
  declare class ListViewComponent<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> implements OnInit, AfterViewInit {
786
793
  viewType: _angular_core.InputSignal<string>;
787
794
  itemService: _angular_core.InputSignal<ItemService<D, L, C, U> | undefined>;
795
+ listItemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
788
796
  itemDetailTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
797
+ itemHeight: _angular_core.InputSignal<number>;
798
+ itemWidth: _angular_core.InputSignal<number>;
789
799
  columns: _angular_core.InputSignal<TableColumn[]>;
790
800
  sortFields: _angular_core.InputSignal<string[]>;
791
801
  noSelfItemsMessage: _angular_core.InputSignal<string | undefined>;
@@ -794,6 +804,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
794
804
  defaultQueries: _angular_core.InputSignal<IQuery[]>;
795
805
  embeddedMode: _angular_core.InputSignal<boolean>;
796
806
  selectedViewType: _angular_core.WritableSignal<string>;
807
+ selected: _angular_core.OutputEmitterRef<number | null>;
797
808
  pageSize: number;
798
809
  pageSizeOptions: number[];
799
810
  protected route: ActivatedRoute;
@@ -801,8 +812,10 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
801
812
  sort: _angular_core.Signal<MatSort | undefined>;
802
813
  columnNames: _angular_core.Signal<string[]>;
803
814
  searchTerm: string;
815
+ get resolvedItemWidth(): string;
804
816
  ngOnInit(): void;
805
817
  ngAfterViewInit(): void;
818
+ showControls(): boolean;
806
819
  onSearchChange(value: string): void;
807
820
  canCreate(): boolean;
808
821
  itemType(): string;
@@ -811,60 +824,76 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
811
824
  resetDataSource(): void;
812
825
  reset(): void;
813
826
  viewChanged(event: MatButtonToggleChange): void;
827
+ onSelection(id: number): void;
814
828
  protected isSelfList(): boolean;
815
829
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListViewComponent<any, any, any, any>, never>;
816
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListViewComponent<any, any, any, any>, "lib-list-view", never, { "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "itemService": { "alias": "itemService"; "required": false; "isSignal": true; }; "itemDetailTemplate": { "alias": "itemDetailTemplate"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; "noSelfItemsMessage": { "alias": "noSelfItemsMessage"; "required": false; "isSignal": true; }; "noItemsCanCreateMessage": { "alias": "noItemsCanCreateMessage"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "defaultQueries": { "alias": "defaultQueries"; "required": false; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
830
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListViewComponent<any, any, any, any>, "lib-list-view", never, { "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "itemService": { "alias": "itemService"; "required": false; "isSignal": true; }; "listItemTemplate": { "alias": "listItemTemplate"; "required": false; "isSignal": true; }; "itemDetailTemplate": { "alias": "itemDetailTemplate"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "itemWidth": { "alias": "itemWidth"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; "noSelfItemsMessage": { "alias": "noSelfItemsMessage"; "required": false; "isSignal": true; }; "noItemsCanCreateMessage": { "alias": "noItemsCanCreateMessage"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "defaultQueries": { "alias": "defaultQueries"; "required": false; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
817
831
  }
818
832
 
819
- declare class BackButtonComponent {
820
- protected location: Location;
821
- protected goBack(): void;
822
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
823
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
833
+ declare class ListTableViewComponent implements AfterViewInit {
834
+ itemType: _angular_core.InputSignal<string>;
835
+ columns: _angular_core.InputSignal<TableColumn[]>;
836
+ dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
837
+ searchFilter: _angular_core.InputSignal<string>;
838
+ pageSizeOptions: number[];
839
+ initialPageSize: number;
840
+ columnNames: _angular_core.Signal<string[]>;
841
+ sort: _angular_core.Signal<MatSort | undefined>;
842
+ paginator: _angular_core.Signal<MatPaginator | undefined>;
843
+ ngAfterViewInit(): void;
844
+ reset(): void;
845
+ fetch(): void;
846
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
847
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListTableViewComponent, "lib-list-table-view", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "searchFilter": { "alias": "searchFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
824
848
  }
825
849
 
826
- declare class DetailHeaderComponent {
827
- id: _angular_core.InputSignal<number>;
828
- text: _angular_core.InputSignal<string>;
829
- route: _angular_core.InputSignal<string>;
830
- canEdit: _angular_core.InputSignal<boolean>;
831
- canDelete: _angular_core.InputSignal<boolean>;
832
- deleteClicked: _angular_core.OutputEmitterRef<void>;
833
- fullRoute: _angular_core.Signal<string>;
834
- deleteClick(): void;
835
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
836
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailHeaderComponent, "lib-detail-header", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "route": { "alias": "route"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "canDelete": { "alias": "canDelete"; "required": false; "isSignal": true; }; }, { "deleteClicked": "deleteClicked"; }, never, never, true, never>;
850
+ declare class TopBarComponent {
851
+ readonly title: _angular_core.InputSignal<string | undefined>;
852
+ readonly logo: _angular_core.InputSignal<string | undefined>;
853
+ readonly background: _angular_core.InputSignal<string | undefined>;
854
+ readonly user: _angular_core.WritableSignal<ichec_angular_core.IPortalMemberList | null>;
855
+ readonly loginRoute: _angular_core.InputSignal<string>;
856
+ private userService;
857
+ constructor();
858
+ onLogout(): void;
859
+ onLogin(): void;
860
+ get initials(): string;
861
+ get backgroundStyle(): string;
862
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
863
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopBarComponent, "lib-top-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "loginRoute": { "alias": "loginRoute"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
837
864
  }
838
865
 
839
- declare class SearchBarComponent implements AfterViewInit {
840
- itemType: _angular_core.InputSignal<string>;
841
- sortFields: _angular_core.InputSignal<string[]>;
842
- sortAscending: _angular_core.WritableSignal<boolean>;
843
- searchChanged: _angular_core.OutputEmitterRef<string>;
844
- searchFilter: FormControl<any>;
845
- ngAfterViewInit(): void;
846
- clearSearch(): void;
847
- searchEntered(): void;
848
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
849
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "lib-search-bar", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; }, { "searchChanged": "searchChanged"; }, never, never, true, never>;
866
+ declare class LeftNavComponent {
867
+ readonly background: _angular_core.InputSignal<string | undefined>;
868
+ user: _angular_core.WritableSignal<ichec_angular_core.IPortalMemberList | null>;
869
+ protected userService: UserService;
870
+ protected leftNavService: LeftNavService;
871
+ sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
872
+ constructor();
873
+ getOptions(): _angular_core.WritableSignal<Set<ichec_angular_core.NavOption>>;
874
+ get backgroundStyle(): string;
875
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
876
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, { "background": { "alias": "background"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
850
877
  }
851
878
 
852
- declare class FileUploadComponent {
853
- control: _angular_core.InputSignal<FormControl<IFileRecord>>;
854
- protected onFileUpload(event: Event): void;
855
- protected onFileUploaded(file: File): void;
856
- protected onPreviewLoaded(preview: string | ArrayBuffer): void;
857
- protected onClearLocal(): void;
858
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
859
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
879
+ declare class FeedbackComponent {
880
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
881
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackComponent, "lib-feedback", never, {}, {}, never, never, true, never>;
882
+ }
883
+
884
+ declare class AvatarComponent {
885
+ text: _angular_core.InputSignal<string>;
886
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
887
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "lib-avatar", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
860
888
  }
861
889
 
862
890
  declare class UserDetailComponent extends DetailView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
891
+ showBack: _angular_core.InputSignal<boolean>;
863
892
  constructor();
864
893
  ngOnInit(): void;
865
894
  protected canEdit(): boolean;
866
895
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserDetailComponent, never>;
867
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, {}, {}, never, never, true, never>;
896
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
868
897
  }
869
898
 
870
899
  declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
@@ -877,23 +906,25 @@ declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMem
877
906
  }
878
907
 
879
908
  declare class UserComponent {
880
- viewType: _angular_core.WritableSignal<string>;
881
909
  itemService: UserService;
882
- columns: ichec_angular_core.TableColumn[];
910
+ detailView: _angular_core.Signal<UserDetailComponent | undefined>;
911
+ onSelected(id: number | null): void;
883
912
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
884
913
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
885
914
  }
886
915
 
887
916
  declare class GroupDetailComponent extends DetailView<IGroupDetail, IGroupList, IGroupCreate> implements OnInit {
917
+ showBack: _angular_core.InputSignal<boolean>;
888
918
  constructor();
889
919
  ngOnInit(): void;
890
920
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupDetailComponent, never>;
891
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, {}, {}, never, never, true, never>;
921
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
892
922
  }
893
923
 
894
924
  declare class GroupComponent {
895
925
  itemService: GroupService;
896
- columns: TableColumn[];
926
+ detailView: _angular_core.Signal<GroupDetailComponent | undefined>;
927
+ onSelected(id: number | null): void;
897
928
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
898
929
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
899
930
  }
@@ -928,20 +959,23 @@ declare class AddressForm {
928
959
  static updateItem(form: FormGroup<IAddressForm>, item: IAddressDetail): IAddressDetail;
929
960
  }
930
961
 
962
+ declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
963
+ showBack: _angular_core.InputSignal<boolean>;
964
+ constructor();
965
+ ngOnInit(): void;
966
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
967
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
968
+ }
969
+
931
970
  declare class OrganizationComponent {
932
971
  itemService: OrganizationService;
933
972
  columns: TableColumn[];
973
+ detailView: _angular_core.Signal<OrganizationDetailComponent | undefined>;
974
+ onSelected(id: number | null): void;
934
975
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
935
976
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, {}, {}, never, never, true, never>;
936
977
  }
937
978
 
938
- declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
939
- constructor();
940
- ngOnInit(): void;
941
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
942
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, {}, {}, never, never, true, never>;
943
- }
944
-
945
979
  declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
946
980
  addressService: AddressService;
947
981
  selectionManager: MemberSelectionManager;
@@ -955,5 +989,5 @@ declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IO
955
989
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
956
990
  }
957
991
 
958
- export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, AddressService, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupService, ItemQuery, ItemService, ItemWithUserService, LeftNavComponent, LeftNavService, ListTableViewComponent, ListViewComponent, MemberSelectionManager, MockItemService, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, Paginated, Permission, PopulatedFormComponent, PopulatedFormForm, PortalMember, REST_SERVICE_CONFIG, ResolvedPermission, RestService, SearchBarComponent, SelectTableComponent, SelectionManager, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey };
959
- export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileRecord, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IRestOptions, IServerManifest, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };
992
+ export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, AddressService, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupService, ItemQuery, ItemService, ItemWithUserService, LeftNavComponent, LeftNavService, ListTableViewComponent, ListViewComponent, MemberSelectionManager, MockItemService, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, Paginated, Permission, PopulatedFormComponent, PopulatedFormForm, PortalMember, REST_SERVICE_CONFIG, ResolvedPermission, RestService, SearchBarComponent, SelectTableComponent, SelectionManager, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey, getFileFieldIds };
993
+ export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileField, IFileRecord, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IRestOptions, IServerManifest, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };