ichec-angular-core 0.2.5 → 0.3.0

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;
@@ -433,53 +430,50 @@ interface NavGroup {
433
430
  options: NavOption[];
434
431
  }
435
432
  declare class LeftNavService {
436
- activeOptions: Set<NavOption>;
433
+ activeOptions: _angular_core.WritableSignal<Set<NavOption>>;
437
434
  private _groups;
438
435
  private _defaultOptions;
439
436
  private _groupService;
440
437
  constructor();
441
438
  onGroupsUpdated(groups: IGroupList[]): void;
442
- addNavGroup(group: NavGroup): void;
443
439
  setDefaultOptions(options: NavOption[]): void;
444
440
  setGroups(groups: NavGroup[]): void;
445
441
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavService, never>;
446
442
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<LeftNavService>;
447
443
  }
448
444
 
449
- declare class MockItemService {
450
- canEdit(): boolean;
451
- canDelete(): boolean;
452
- canCreate(): boolean;
453
- typePlural(): string;
454
- }
455
-
456
- declare class TopBarComponent {
457
- readonly title: _angular_core.InputSignal<string | undefined>;
458
- readonly user: _angular_core.InputSignal<ichec_angular_core.IPortalMemberList>;
459
- private userService;
460
- onLogout(): void;
461
- get initials(): string;
462
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
463
- 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>;
464
455
  }
465
456
 
466
- declare class LeftNavComponent {
467
- private _leftNavService;
468
- sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
469
- getOptions(): Set<ichec_angular_core.NavOption>;
470
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
471
- 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>;
472
463
  }
473
464
 
474
- declare class FeedbackComponent {
475
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
476
- 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>;
477
470
  }
478
471
 
479
- declare class AvatarComponent {
480
- text: _angular_core.InputSignal<string>;
481
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
482
- 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;
483
477
  }
484
478
 
485
479
  declare abstract class DetailView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -491,33 +485,16 @@ declare abstract class DetailView<D extends Identifiable, L extends Identifiable
491
485
  readonly deleteDialog: MatDialog;
492
486
  constructor(itemService: ItemService<D, L, C, U>);
493
487
  onInit(): void;
488
+ onSelection(id: number | null): void;
494
489
  title(): string;
495
490
  onItemAvailable(item: D): void;
496
491
  onItemAndUserAvailable(_item: D, _user: IPortalMemberDetail): void;
497
- private getItem;
498
492
  onDeleteClicked(): void;
499
493
  onDelete(): void;
500
494
  goBack(): void;
501
495
  protected canEdit(): boolean;
502
496
  protected canDelete(): boolean;
503
- }
504
-
505
- interface IFileRecord {
506
- name: string;
507
- display_name: string;
508
- file_type: string;
509
- file: File | null;
510
- remote: string;
511
- local: string | ArrayBuffer;
512
- }
513
- declare class FileRecord {
514
- name: string;
515
- display_name: string;
516
- file_type: string;
517
- file: File | null;
518
- remote: string;
519
- local: string | ArrayBuffer;
520
- constructor(params?: Partial<IFileRecord>);
497
+ private _getItem;
521
498
  }
522
499
 
523
500
  declare abstract class EditView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -557,6 +534,99 @@ declare abstract class EditView<D extends Identifiable, L extends Identifiable,
557
534
  protected onPostActions(_actions: Record<string, OptionAction>): void;
558
535
  }
559
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
+
560
630
  declare class FormFieldDetailComponent {
561
631
  readonly field: _angular_core.InputSignal<IFormFieldDetail>;
562
632
  form: _angular_core.InputSignal<FormGroup<any>>;
@@ -595,16 +665,6 @@ declare class FormFieldEditComponent {
595
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>;
596
666
  }
597
667
 
598
- declare class DynamicFormComponent {
599
- private readonly formService;
600
- readonly inputForm: _angular_core.InputSignal<IFormDetail>;
601
- readonly form: _angular_core.Signal<FormGroup<any>>;
602
- payLoad: string;
603
- onSubmit(): void;
604
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
605
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormComponent, "lib-dynamic-form", never, { "inputForm": { "alias": "inputForm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
606
- }
607
-
608
668
  interface IFormGroupForm {
609
669
  label: FormControl<string | null>;
610
670
  description: FormControl<string | null>;
@@ -621,6 +681,7 @@ declare class DynamicFormForm {
621
681
  form: FormGroup<IDynamicFormForm>;
622
682
  constructor();
623
683
  get groups(): FormArray<FormGroup<IFormGroupForm>>;
684
+ getFileFields(form: IFormDetail): IFileField[];
624
685
  orderUp(id: number): void;
625
686
  orderDown(id: number): void;
626
687
  reorder(id: number, newIndex: number): void;
@@ -637,25 +698,6 @@ declare class DynamicFormForm {
637
698
  updateItem(item: IFormDetail): IFormCreate | IFormUpdate;
638
699
  }
639
700
 
640
- declare class DynamicFormBuilderComponent {
641
- form: _angular_core.InputSignal<DynamicFormForm>;
642
- handleSubmit: _angular_core.InputSignal<boolean>;
643
- submitted: _angular_core.OutputEmitterRef<void>;
644
- dirty: _angular_core.WritableSignal<boolean>;
645
- fb: FormBuilder;
646
- groupForm: FormGroup<IFormGroupForm> | null;
647
- addGroup(): void;
648
- createGroup(): void;
649
- cancelGroup(): void;
650
- onSubmit(): void;
651
- deleteGroup(id: number): void;
652
- onOrderUp(id: number): void;
653
- onOrderDown(id: number): void;
654
- getLabel(control: AbstractControl): string;
655
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormBuilderComponent, never>;
656
- 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>;
657
- }
658
-
659
701
  interface IFormFieldValueForm {
660
702
  value: FormControl<string | null>;
661
703
  id: FormControl<number | null>;
@@ -684,6 +726,35 @@ declare class PopulatedFormForm {
684
726
  updateItem(item: IPopulatedFormDetail): IPopulatedFormDetail;
685
727
  }
686
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
+
687
758
  declare class PopulatedFormComponent {
688
759
  form: _angular_core.InputSignal<IPopulatedFormDetail>;
689
760
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopulatedFormComponent, never>;
@@ -718,75 +789,12 @@ declare class ListDataSource<D extends Identifiable, L extends Identifiable, C =
718
789
  disconnect(): void;
719
790
  }
720
791
 
721
- interface TableColumn {
722
- name: string;
723
- title: string;
724
- element_type: string;
725
- }
726
- declare class ListTableViewComponent implements AfterViewInit {
727
- itemType: _angular_core.InputSignal<string>;
728
- columns: _angular_core.InputSignal<TableColumn[]>;
729
- dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
730
- searchFilter: _angular_core.InputSignal<string>;
731
- pageSizeOptions: number[];
732
- initialPageSize: number;
733
- columnNames: _angular_core.Signal<string[]>;
734
- sort: _angular_core.Signal<MatSort | undefined>;
735
- paginator: _angular_core.Signal<MatPaginator | undefined>;
736
- ngAfterViewInit(): void;
737
- reset(): void;
738
- fetch(): void;
739
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
740
- 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>;
741
- }
742
-
743
- interface Selectable<T extends Identifiable> {
744
- title: string;
745
- item: T;
746
- }
747
- declare class SelectTableComponent<T extends Identifiable> implements OnInit {
748
- itemType: _angular_core.InputSignal<string>;
749
- selected: _angular_core.InputSignal<T[]>;
750
- options: _angular_core.InputSignal<Selectable<T>[]>;
751
- columns: _angular_core.InputSignal<TableColumn[]>;
752
- itemAdded: _angular_core.OutputEmitterRef<string>;
753
- itemRemoved: _angular_core.OutputEmitterRef<number>;
754
- searchChanged: _angular_core.OutputEmitterRef<string | null>;
755
- columnNames: _angular_core.Signal<string[]>;
756
- searchControl: FormControl<string | null>;
757
- table: _angular_core.Signal<MatTable<any> | undefined>;
758
- ngOnInit(): void;
759
- remove(id: number): void;
760
- add(): void;
761
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
762
- 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>;
763
- }
764
-
765
- declare abstract class SelectionManager<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
766
- candidates: _angular_core.WritableSignal<Selectable<L>[]>;
767
- selected: _angular_core.WritableSignal<L[]>;
768
- columns: TableColumn[];
769
- itemService: ItemService<D, L, C, U>;
770
- constructor(itemService: ItemService<D, L, C, U>);
771
- fetchCandidates(item: string, id: number): void;
772
- protected updateCandidates(items: IPaginated<L>): void;
773
- abstract toSelectable(item: L): Selectable<L>;
774
- onRemoved(id: number): string;
775
- onAdded(title: string): string;
776
- abstract hasTitle(item: L, title: string): boolean;
777
- onSearchChanged(searchTerm: string | null): void;
778
- }
779
- declare class MemberSelectionManager extends SelectionManager<IPortalMemberDetail> {
780
- columns: TableColumn[];
781
- constructor();
782
- toSelectable(item: IPortalMemberDetail): Selectable<IPortalMemberDetail>;
783
- hasTitle(item: IPortalMemberDetail, title: string): boolean;
784
- }
785
-
786
792
  declare class ListViewComponent<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> implements OnInit, AfterViewInit {
787
793
  viewType: _angular_core.InputSignal<string>;
788
794
  itemService: _angular_core.InputSignal<ItemService<D, L, C, U> | undefined>;
795
+ listItemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
789
796
  itemDetailTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
797
+ itemHeight: _angular_core.InputSignal<number>;
790
798
  columns: _angular_core.InputSignal<TableColumn[]>;
791
799
  sortFields: _angular_core.InputSignal<string[]>;
792
800
  noSelfItemsMessage: _angular_core.InputSignal<string | undefined>;
@@ -795,6 +803,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
795
803
  defaultQueries: _angular_core.InputSignal<IQuery[]>;
796
804
  embeddedMode: _angular_core.InputSignal<boolean>;
797
805
  selectedViewType: _angular_core.WritableSignal<string>;
806
+ selected: _angular_core.OutputEmitterRef<number | null>;
798
807
  pageSize: number;
799
808
  pageSizeOptions: number[];
800
809
  protected route: ActivatedRoute;
@@ -804,6 +813,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
804
813
  searchTerm: string;
805
814
  ngOnInit(): void;
806
815
  ngAfterViewInit(): void;
816
+ showControls(): boolean;
807
817
  onSearchChange(value: string): void;
808
818
  canCreate(): boolean;
809
819
  itemType(): string;
@@ -812,60 +822,73 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
812
822
  resetDataSource(): void;
813
823
  reset(): void;
814
824
  viewChanged(event: MatButtonToggleChange): void;
825
+ onSelection(id: number): void;
815
826
  protected isSelfList(): boolean;
816
827
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListViewComponent<any, any, any, any>, never>;
817
- 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>;
828
+ 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; }; "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>;
818
829
  }
819
830
 
820
- declare class BackButtonComponent {
821
- protected location: Location;
822
- protected goBack(): void;
823
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
824
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
831
+ declare class ListTableViewComponent implements AfterViewInit {
832
+ itemType: _angular_core.InputSignal<string>;
833
+ columns: _angular_core.InputSignal<TableColumn[]>;
834
+ dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
835
+ searchFilter: _angular_core.InputSignal<string>;
836
+ pageSizeOptions: number[];
837
+ initialPageSize: number;
838
+ columnNames: _angular_core.Signal<string[]>;
839
+ sort: _angular_core.Signal<MatSort | undefined>;
840
+ paginator: _angular_core.Signal<MatPaginator | undefined>;
841
+ ngAfterViewInit(): void;
842
+ reset(): void;
843
+ fetch(): void;
844
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
845
+ 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>;
825
846
  }
826
847
 
827
- declare class DetailHeaderComponent {
828
- id: _angular_core.InputSignal<number>;
829
- text: _angular_core.InputSignal<string>;
830
- route: _angular_core.InputSignal<string>;
831
- canEdit: _angular_core.InputSignal<boolean>;
832
- canDelete: _angular_core.InputSignal<boolean>;
833
- deleteClicked: _angular_core.OutputEmitterRef<void>;
834
- fullRoute: _angular_core.Signal<string>;
835
- deleteClick(): void;
836
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
837
- 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>;
848
+ declare class TopBarComponent {
849
+ readonly title: _angular_core.InputSignal<string | undefined>;
850
+ readonly logo: _angular_core.InputSignal<string | undefined>;
851
+ readonly background: _angular_core.InputSignal<string | undefined>;
852
+ readonly user: _angular_core.WritableSignal<ichec_angular_core.IPortalMemberList | null>;
853
+ readonly loginRoute: _angular_core.InputSignal<string>;
854
+ private userService;
855
+ constructor();
856
+ onLogout(): void;
857
+ onLogin(): void;
858
+ get initials(): string;
859
+ get backgroundStyle(): string;
860
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
861
+ 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>;
838
862
  }
839
863
 
840
- declare class SearchBarComponent implements AfterViewInit {
841
- itemType: _angular_core.InputSignal<string>;
842
- sortFields: _angular_core.InputSignal<string[]>;
843
- sortAscending: _angular_core.WritableSignal<boolean>;
844
- searchChanged: _angular_core.OutputEmitterRef<string>;
845
- searchFilter: FormControl<any>;
846
- ngAfterViewInit(): void;
847
- clearSearch(): void;
848
- searchEntered(): void;
849
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
850
- 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>;
864
+ declare class LeftNavComponent {
865
+ readonly background: _angular_core.InputSignal<string | undefined>;
866
+ protected _leftNavService: LeftNavService;
867
+ sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
868
+ getOptions(): _angular_core.WritableSignal<Set<ichec_angular_core.NavOption>>;
869
+ get backgroundStyle(): string;
870
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
871
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, { "background": { "alias": "background"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
851
872
  }
852
873
 
853
- declare class FileUploadComponent {
854
- control: _angular_core.InputSignal<FormControl<IFileRecord>>;
855
- protected onFileUpload(event: Event): void;
856
- protected onFileUploaded(file: File): void;
857
- protected onPreviewLoaded(preview: string | ArrayBuffer): void;
858
- protected onClearLocal(): void;
859
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
860
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
874
+ declare class FeedbackComponent {
875
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
876
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackComponent, "lib-feedback", never, {}, {}, never, never, true, never>;
877
+ }
878
+
879
+ declare class AvatarComponent {
880
+ text: _angular_core.InputSignal<string>;
881
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
882
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "lib-avatar", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
861
883
  }
862
884
 
863
885
  declare class UserDetailComponent extends DetailView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
886
+ showBack: _angular_core.InputSignal<boolean>;
864
887
  constructor();
865
888
  ngOnInit(): void;
866
889
  protected canEdit(): boolean;
867
890
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserDetailComponent, never>;
868
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, {}, {}, never, never, true, never>;
891
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
869
892
  }
870
893
 
871
894
  declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
@@ -878,23 +901,25 @@ declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMem
878
901
  }
879
902
 
880
903
  declare class UserComponent {
881
- viewType: _angular_core.WritableSignal<string>;
882
904
  itemService: UserService;
883
- columns: ichec_angular_core.TableColumn[];
905
+ detailView: _angular_core.Signal<UserDetailComponent | undefined>;
906
+ onSelected(id: number | null): void;
884
907
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
885
908
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
886
909
  }
887
910
 
888
911
  declare class GroupDetailComponent extends DetailView<IGroupDetail, IGroupList, IGroupCreate> implements OnInit {
912
+ showBack: _angular_core.InputSignal<boolean>;
889
913
  constructor();
890
914
  ngOnInit(): void;
891
915
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupDetailComponent, never>;
892
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, {}, {}, never, never, true, never>;
916
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
893
917
  }
894
918
 
895
919
  declare class GroupComponent {
896
920
  itemService: GroupService;
897
- columns: TableColumn[];
921
+ detailView: _angular_core.Signal<GroupDetailComponent | undefined>;
922
+ onSelected(id: number | null): void;
898
923
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
899
924
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
900
925
  }
@@ -929,20 +954,23 @@ declare class AddressForm {
929
954
  static updateItem(form: FormGroup<IAddressForm>, item: IAddressDetail): IAddressDetail;
930
955
  }
931
956
 
957
+ declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
958
+ showBack: _angular_core.InputSignal<boolean>;
959
+ constructor();
960
+ ngOnInit(): void;
961
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
962
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
963
+ }
964
+
932
965
  declare class OrganizationComponent {
933
966
  itemService: OrganizationService;
934
967
  columns: TableColumn[];
968
+ detailView: _angular_core.Signal<OrganizationDetailComponent | undefined>;
969
+ onSelected(id: number | null): void;
935
970
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
936
971
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, {}, {}, never, never, true, never>;
937
972
  }
938
973
 
939
- declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
940
- constructor();
941
- ngOnInit(): void;
942
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
943
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, {}, {}, never, never, true, never>;
944
- }
945
-
946
974
  declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
947
975
  addressService: AddressService;
948
976
  selectionManager: MemberSelectionManager;
@@ -956,5 +984,5 @@ declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IO
956
984
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
957
985
  }
958
986
 
959
- 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 };
960
- 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 };
987
+ 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 };
988
+ 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 };