@elderbyte/ngx-starter 17.9.0 → 17.11.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  2. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +1 -1
  3. package/esm2022/lib/common/data/filters/filter-commons.mjs +23 -0
  4. package/esm2022/lib/common/data/filters/filter-value.mjs +2 -0
  5. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +17 -6
  6. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +13 -3
  7. package/esm2022/lib/components/badge/elder-badge.directive.mjs +41 -19
  8. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +8 -5
  9. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +2 -0
  10. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +15 -6
  11. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  12. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +36 -25
  13. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +55 -15
  14. package/esm2022/lib/components/forms/search/filter/default-input-converter.mjs +32 -0
  15. package/esm2022/lib/components/forms/search/filter/include-exclude-input-converter.mjs +165 -0
  16. package/esm2022/lib/components/forms/search/filter/input-converter.mjs +2 -0
  17. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +1 -1
  18. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
  19. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +231 -0
  20. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +1 -1
  21. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -1
  22. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +8 -8
  23. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +26 -6
  24. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +38 -0
  25. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +66 -0
  26. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +4 -14
  27. package/esm2022/lib/components/select/elder-select-base.mjs +6 -6
  28. package/esm2022/lib/components/select/elder-select.module.mjs +31 -6
  29. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +70 -0
  30. package/esm2022/lib/components/select/filter/elder-chips-filter.directive.mjs +174 -0
  31. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +58 -0
  32. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +12 -5
  33. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +7 -3
  34. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +83 -0
  35. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +6 -11
  36. package/fesm2022/elderbyte-ngx-starter.mjs +5054 -4204
  37. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  38. package/lib/common/data/filters/filter-commons.d.ts +12 -0
  39. package/lib/common/data/filters/filter-value.d.ts +1 -0
  40. package/lib/common/http/transfer/data-transfer-factory.d.ts +14 -2
  41. package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +2 -2
  42. package/lib/components/badge/elder-badge.directive.d.ts +10 -1
  43. package/lib/components/forms/directives/elder-initial-value.directive.d.ts +4 -2
  44. package/lib/components/forms/search/domain/input/input-value.d.ts +1 -0
  45. package/lib/components/forms/search/domain/input/search-input-state.d.ts +14 -4
  46. package/lib/components/forms/search/domain/input/search-input.d.ts +6 -1
  47. package/lib/components/forms/search/elder-search-context.directive.d.ts +7 -2
  48. package/lib/components/forms/search/elder-search-input.directive.d.ts +23 -7
  49. package/lib/components/forms/search/filter/default-input-converter.d.ts +20 -0
  50. package/lib/components/forms/search/filter/include-exclude-input-converter.d.ts +78 -0
  51. package/lib/components/forms/search/filter/input-converter.d.ts +7 -0
  52. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +3 -3
  53. package/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.d.ts → elder-suggestion-panel.component.d.ts} +17 -6
  54. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +3 -3
  55. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +3 -3
  56. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +3 -3
  57. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +9 -1
  58. package/lib/components/select/auto/elder-auto-select-first.service.d.ts +23 -0
  59. package/lib/components/select/auto/elder-auto-select-suggest-first.directive.d.ts +32 -0
  60. package/lib/components/select/auto/elder-select-first-util.d.ts +2 -2
  61. package/lib/components/select/elder-select-base.d.ts +1 -1
  62. package/lib/components/select/elder-select.module.d.ts +9 -1
  63. package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +19 -0
  64. package/lib/components/select/filter/elder-chips-filter.directive.d.ts +68 -0
  65. package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +32 -0
  66. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +5 -1
  67. package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +39 -0
  68. package/lib/components/select/single/elder-select/elder-select.component.d.ts +0 -1
  69. package/package.json +1 -1
  70. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +95 -0
  71. package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
  72. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -186
  73. /package/src/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.scss → elder-suggestion-panel.component.scss} +0 -0
@@ -0,0 +1,23 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ElderAutoSelectFirstService<TEntity> {
4
+ private readonly _firstItem$;
5
+ private readonly _enabled$;
6
+ constructor();
7
+ /***************************************************************************
8
+ * *
9
+ * Public API *
10
+ * *
11
+ **************************************************************************/
12
+ suggestFirstItem(entity: TEntity): void;
13
+ /***************************************************************************
14
+ * *
15
+ * Properties *
16
+ * *
17
+ **************************************************************************/
18
+ set enabled(enabled: boolean);
19
+ get enabled$(): import("rxjs").Observable<boolean>;
20
+ get firstItem$(): BehaviorSubject<TEntity>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderAutoSelectFirstService<any>, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<ElderAutoSelectFirstService<any>>;
23
+ }
@@ -0,0 +1,32 @@
1
+ import { DestroyRef } from '@angular/core';
2
+ import { ElderSuggestionPanelComponent } from '../../input/autocomplete/elder-autocomplete/elder-suggestion-panel.component';
3
+ import { ElderAutoSelectFirstService } from './elder-auto-select-first.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ElderAutoSelectSuggestFirstDirective<TEntity = any, TId = any> {
6
+ readonly elderAutoComplete: ElderSuggestionPanelComponent<TEntity, TId>;
7
+ private readonly autoSelectFirstService;
8
+ private readonly destroyRef;
9
+ /***************************************************************************
10
+ * *
11
+ * Fields *
12
+ * *
13
+ **************************************************************************/
14
+ private readonly log;
15
+ /***************************************************************************
16
+ * *
17
+ * Constructor *
18
+ * *
19
+ **************************************************************************/
20
+ constructor(elderAutoComplete: ElderSuggestionPanelComponent<TEntity, TId>, autoSelectFirstService: ElderAutoSelectFirstService<TEntity>, destroyRef: DestroyRef);
21
+ /***************************************************************************
22
+ * *
23
+ * Private methods *
24
+ * *
25
+ **************************************************************************/
26
+ private subscribeToAutoSelectFirstService;
27
+ private suggestFirstItem;
28
+ private selectFirstItemInDataContext;
29
+ private firstItemInDataContextSoon;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderAutoSelectSuggestFirstDirective<any, any>, [null, { optional: true; }, null]>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderAutoSelectSuggestFirstDirective<any, any>, "[elderAutoSelectSuggestFirst]", never, {}, {}, never, never, true, never>;
32
+ }
@@ -1,3 +1,4 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { ElderSelectComponent } from '../single/elder-select/elder-select.component';
2
3
  export declare class ElderSelectFirstUtil {
3
4
  /***************************************************************************
@@ -11,12 +12,11 @@ export declare class ElderSelectFirstUtil {
11
12
  * Public methods *
12
13
  * *
13
14
  **************************************************************************/
14
- static trySelectFirst<TEntity, TId>(elderSelect: ElderSelectComponent<TEntity, TId, any>): void;
15
+ static trySelectFirst<TEntity, TId>(elderSelect: ElderSelectComponent<TEntity, TId, any>, oFirstItem: Observable<TEntity>): void;
15
16
  /***************************************************************************
16
17
  * *
17
18
  * Private methods *
18
19
  * *
19
20
  **************************************************************************/
20
- private static firstItemInDataContextSoon;
21
21
  private static firstSuggestionItem;
22
22
  }
@@ -126,6 +126,7 @@ export declare abstract class ElderSelectBase<TId, TEntity, TValue> extends Elde
126
126
  get shouldLabelFloat(): boolean;
127
127
  set templateOptions$(comps: ElderSelectOptionComponent<TEntity>[]);
128
128
  get templateOptions$(): Observable<ElderSelectOptionComponent<TEntity>[]>;
129
+ getEntityId(entity: TEntity): TId;
129
130
  /***************************************************************************
130
131
  * *
131
132
  * Abstract API *
@@ -140,7 +141,6 @@ export declare abstract class ElderSelectBase<TId, TEntity, TValue> extends Elde
140
141
  * Internal API *
141
142
  * *
142
143
  **************************************************************************/
143
- protected getEntityId(entity: TEntity): TId;
144
144
  protected dataSourceOrThrow(): IDataSource<TEntity>;
145
145
  protected isEqual(a: TEntity, b: TEntity): boolean;
146
146
  protected isEmpty(a: TEntity): boolean;
@@ -35,6 +35,10 @@ import * as i33 from "./single/elder-clear-select.directive";
35
35
  import * as i34 from "./multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component";
36
36
  import * as i35 from "./multi/elder-chip-select-option/elder-select-option.component";
37
37
  import * as i36 from "./multi/elder-mutli-select-all-directive";
38
+ import * as i37 from "./auto/elder-auto-select-suggest-first.directive";
39
+ import * as i38 from "./filter/elder-chips-filter.directive";
40
+ import * as i39 from "./filter/elder-filter-chip-template/elder-filter-chip-template.component";
41
+ import * as i40 from "./multi/elder-search-include-exclude.directive";
38
42
  export { ElderSelectValueDirective } from './elder-select-value.directive';
39
43
  export * from './elder-select-chip.directive';
40
44
  export { ElderSelectOnTabDirective } from './elder-select-on-tab.directive';
@@ -49,8 +53,12 @@ export { ElderSelectOptionComponent } from './multi/elder-chip-select-option/eld
49
53
  export { ElderAutoSelectFirstDirective } from './auto/elder-auto-select-first.directive';
50
54
  export { ElderClearSelectDirective } from './single/elder-clear-select.directive';
51
55
  export { ElderMultiSelectAllInitialDirective } from './multi/elder-mutli-select-all-directive';
56
+ export { ElderAutoSelectSuggestFirstDirective } from './auto/elder-auto-select-suggest-first.directive';
57
+ export { ElderChipsFilterDirective } from './filter/elder-chips-filter.directive';
58
+ export { ElderFilterChipTemplate } from './filter/elder-filter-chip-template/elder-filter-chip-template.component';
59
+ export { ElderSearchIncludeExcludeDirective } from './multi/elder-search-include-exclude.directive';
52
60
  export declare class ElderSelectModule {
53
61
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectModule, never>;
54
- static ɵmod: i0.ɵɵNgModuleDeclaration<ElderSelectModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.MatFormFieldModule, typeof i4.MatIconModule, typeof i5.MatSelectModule, typeof i6.MatDialogModule, typeof i7.MatButtonModule, typeof i8.MatInputModule, typeof i9.MatAutocompleteModule, typeof i10.MatToolbarModule, typeof i11.MatProgressBarModule, typeof i12.MatProgressSpinnerModule, typeof i13.MatChipsModule, typeof i14.MatTooltipModule, typeof i15.CdkDropList, typeof i15.CdkDrag, typeof i16.TranslateModule, typeof i17.ElderFormsDirectivesModule, typeof i18.ElderTableModule, typeof i19.ElderInfiniteScrollModule, typeof i20.ElderAutocompleteModule, typeof i21.ElderPipesModule, typeof i22.ElderThemeModule, typeof i23.ElderChipsModule, typeof i1.AsyncPipe, typeof i1.AsyncPipe, typeof i24.ElderSelectComponent, typeof i25.ElderSelectValueDirective, typeof i26.TemplatedSelectionDialogComponent, typeof i27.SelectionModelPopupDirective, typeof i28.ElderSelectionPopupTriggerAdapterDirective, typeof i29.ElderSelectOnTabDirective, typeof i30.ElderMultiSelectChipsComponent, typeof i31.ElderSelectChipDirective, typeof i31.ElderSelectChipAvatarDirective, typeof i32.ElderAutoSelectFirstDirective, typeof i33.ElderClearSelectDirective, typeof i31.ElderSelectCustomInputDirective, typeof i34.ElderMultiSelectChipOptionsComponent, typeof i35.ElderSelectOptionComponent, typeof i36.ElderMultiSelectAllInitialDirective], [typeof i24.ElderSelectComponent, typeof i25.ElderSelectValueDirective, typeof i26.TemplatedSelectionDialogComponent, typeof i27.SelectionModelPopupDirective, typeof i28.ElderSelectionPopupTriggerAdapterDirective, typeof i30.ElderMultiSelectChipsComponent, typeof i31.ElderSelectChipDirective, typeof i31.ElderSelectChipAvatarDirective, typeof i32.ElderAutoSelectFirstDirective, typeof i33.ElderClearSelectDirective, typeof i31.ElderSelectCustomInputDirective, typeof i34.ElderMultiSelectChipOptionsComponent, typeof i35.ElderSelectOptionComponent, typeof i36.ElderMultiSelectAllInitialDirective]>;
62
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ElderSelectModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.MatFormFieldModule, typeof i4.MatIconModule, typeof i5.MatSelectModule, typeof i6.MatDialogModule, typeof i7.MatButtonModule, typeof i8.MatInputModule, typeof i9.MatAutocompleteModule, typeof i10.MatToolbarModule, typeof i11.MatProgressBarModule, typeof i12.MatProgressSpinnerModule, typeof i13.MatChipsModule, typeof i14.MatTooltipModule, typeof i15.CdkDropList, typeof i15.CdkDrag, typeof i16.TranslateModule, typeof i17.ElderFormsDirectivesModule, typeof i18.ElderTableModule, typeof i19.ElderInfiniteScrollModule, typeof i20.ElderAutocompleteModule, typeof i21.ElderPipesModule, typeof i22.ElderThemeModule, typeof i23.ElderChipsModule, typeof i1.AsyncPipe, typeof i1.AsyncPipe, typeof i24.ElderSelectComponent, typeof i25.ElderSelectValueDirective, typeof i26.TemplatedSelectionDialogComponent, typeof i27.SelectionModelPopupDirective, typeof i28.ElderSelectionPopupTriggerAdapterDirective, typeof i29.ElderSelectOnTabDirective, typeof i30.ElderMultiSelectChipsComponent, typeof i31.ElderSelectChipDirective, typeof i31.ElderSelectChipAvatarDirective, typeof i32.ElderAutoSelectFirstDirective, typeof i33.ElderClearSelectDirective, typeof i31.ElderSelectCustomInputDirective, typeof i34.ElderMultiSelectChipOptionsComponent, typeof i35.ElderSelectOptionComponent, typeof i36.ElderMultiSelectAllInitialDirective, typeof i37.ElderAutoSelectSuggestFirstDirective, typeof i38.ElderChipsFilterDirective, typeof i39.ElderFilterChipTemplate, typeof i40.ElderSearchIncludeExcludeDirective], [typeof i24.ElderSelectComponent, typeof i25.ElderSelectValueDirective, typeof i26.TemplatedSelectionDialogComponent, typeof i27.SelectionModelPopupDirective, typeof i28.ElderSelectionPopupTriggerAdapterDirective, typeof i30.ElderMultiSelectChipsComponent, typeof i31.ElderSelectChipDirective, typeof i31.ElderSelectChipAvatarDirective, typeof i32.ElderAutoSelectFirstDirective, typeof i33.ElderClearSelectDirective, typeof i31.ElderSelectCustomInputDirective, typeof i34.ElderMultiSelectChipOptionsComponent, typeof i35.ElderSelectOptionComponent, typeof i36.ElderMultiSelectAllInitialDirective, typeof i37.ElderAutoSelectSuggestFirstDirective, typeof i38.ElderChipsFilterDirective, typeof i39.ElderFilterChipTemplate, typeof i40.ElderSearchIncludeExcludeDirective]>;
55
63
  static ɵinj: i0.ɵɵInjectorDeclaration<ElderSelectModule>;
56
64
  }
@@ -0,0 +1,19 @@
1
+ import { SelectChipSpec } from '../multi/elder-multi-select-chips/select-chip-spec';
2
+ import { ElderChipFilterEntity } from './elder-chips-filter.directive';
3
+ export default class ElderChipFilterStyleResolver {
4
+ /***************************************************************************
5
+ * *
6
+ * Fields *
7
+ * *
8
+ **************************************************************************/
9
+ private readonly neutralChipSpec;
10
+ private readonly includedChipSpec;
11
+ private readonly excludedChipSpec;
12
+ /***************************************************************************
13
+ * *
14
+ * Public API *
15
+ * *
16
+ **************************************************************************/
17
+ resolveChipSpec(filterEntity: ElderChipFilterEntity): SelectChipSpec;
18
+ resolveAvatar(filterEntity: ElderChipFilterEntity): string;
19
+ }
@@ -0,0 +1,68 @@
1
+ import { DestroyRef, ViewContainerRef } from '@angular/core';
2
+ import { ElderMultiSelectChipsComponent } from '../multi/elder-multi-select-chips/elder-multi-select-chips.component';
3
+ import { Observable } from 'rxjs';
4
+ import { ElderSearchInputDirective } from '../../forms/search/elder-search-input.directive';
5
+ import * as i0 from "@angular/core";
6
+ export interface ElderChipFilterEntity {
7
+ id: string;
8
+ selection: ElderChipFilterSelection;
9
+ }
10
+ export declare enum ElderChipFilterSelection {
11
+ NEUTRAL = "NEUTRAL",
12
+ INCLUDE = "INCLUDE",
13
+ EXCLUDE = "EXCLUDE"
14
+ }
15
+ export declare class ElderChipsFilterDirective<T = any> {
16
+ readonly elderMultiSelectChips: ElderMultiSelectChipsComponent;
17
+ readonly elderSearchInput: ElderSearchInputDirective;
18
+ readonly vcr: ViewContainerRef;
19
+ private readonly destroyRef;
20
+ /***************************************************************************
21
+ * *
22
+ * Fields *
23
+ * *
24
+ **************************************************************************/
25
+ private readonly log;
26
+ private readonly _selection$;
27
+ private readonly chipStyleResolver;
28
+ private readonly initialDone$;
29
+ private readonly _includeSuffix$;
30
+ private readonly _excludeSuffix$;
31
+ /***************************************************************************
32
+ * *
33
+ * Properties *
34
+ * *
35
+ **************************************************************************/
36
+ set includeSuffix(suffix: string);
37
+ set excludeSuffix(suffix: string);
38
+ /***************************************************************************
39
+ * *
40
+ * Constructor *
41
+ * *
42
+ **************************************************************************/
43
+ constructor(elderMultiSelectChips: ElderMultiSelectChipsComponent, elderSearchInput: ElderSearchInputDirective, vcr: ViewContainerRef, destroyRef: DestroyRef);
44
+ /***************************************************************************
45
+ * *
46
+ * Properties *
47
+ * *
48
+ **************************************************************************/
49
+ get selection(): ElderChipFilterEntity[];
50
+ get selection$(): Observable<ElderChipFilterEntity[]>;
51
+ set selection(listedEntityIds: ElderChipFilterEntity[]);
52
+ /***************************************************************************
53
+ * *
54
+ * Private methods *
55
+ * *
56
+ **************************************************************************/
57
+ private setupFilterChips;
58
+ private setupElderMultiSelectChipsListeners;
59
+ private resolveChipSpec;
60
+ private resolveAvatar;
61
+ private handleChipClick;
62
+ private cycleFilterEntitySelection;
63
+ private findFilterEntityByEntity;
64
+ private findFilterEntityById;
65
+ private updateChipEntities;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderChipsFilterDirective<any>, never>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderChipsFilterDirective<any>, "[elderChipsFilter]", never, { "includeSuffix": { "alias": "includeSuffix"; "required": false; }; "excludeSuffix": { "alias": "excludeSuffix"; "required": false; }; }, {}, never, never, true, never>;
68
+ }
@@ -0,0 +1,32 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ElderFilterChipTemplate {
5
+ /***************************************************************************
6
+ * *
7
+ * Fields *
8
+ * *
9
+ **************************************************************************/
10
+ private _avatarRef$;
11
+ private _bodyRef$;
12
+ private _resolveAvatar$;
13
+ /***************************************************************************
14
+ * *
15
+ * Constructor *
16
+ * *
17
+ **************************************************************************/
18
+ constructor();
19
+ /***************************************************************************
20
+ * *
21
+ * Properties *
22
+ * *
23
+ **************************************************************************/
24
+ set avatarRef(avatarRef: TemplateRef<any>);
25
+ get avatarRef$(): Observable<TemplateRef<any>>;
26
+ set bodyRef(avatarRef: TemplateRef<any>);
27
+ get bodyRef$(): Observable<TemplateRef<any>>;
28
+ set resolveAvatar(fn: (id: string) => string);
29
+ get resolveAvatar$(): Observable<(id: string) => string>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderFilterChipTemplate, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderFilterChipTemplate, "elder-filter-chip-template", never, {}, {}, never, never, true, never>;
32
+ }
@@ -32,6 +32,10 @@ export declare class ElderMultiSelectChipOptionsComponent<TId = any, TEntity = a
32
32
  defaultChipSpec: SelectOptionChipSpec;
33
33
  _chipSpecFn$: BehaviorSubject<(e: TEntity) => SelectOptionChipSpec>;
34
34
  stacked: boolean;
35
+ /**
36
+ * Page size. (Used for infinite scrolling chunks)
37
+ */
38
+ pageSize: number;
35
39
  private _multiple;
36
40
  _listBox: MatChipListbox;
37
41
  /***************************************************************************
@@ -92,6 +96,6 @@ export declare class ElderMultiSelectChipOptionsComponent<TId = any, TEntity = a
92
96
  private extractEntitiesFromTemplateChips;
93
97
  private buildEntitiesLabelMap;
94
98
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectChipOptionsComponent<any, any, any>, [null, null, null, null, null, null, { optional: true; self: true; }]>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipOptionsComponent<any, any, any>, "elder-multi-select-chip-options", never, { "defaultChipSpec": { "alias": "defaultChipSpec"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "chipSpecFn": { "alias": "chipSpecFn"; "required": false; }; "chipTemplate": { "alias": "chipTemplate"; "required": false; }; "chipAvatarTemplate": { "alias": "chipAvatarTemplate"; "required": false; }; }, {}, ["chipTemplateQuery", "chipAvatarTemplateQuery"], ["*"], true, never>;
99
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipOptionsComponent<any, any, any>, "elder-multi-select-chip-options", never, { "defaultChipSpec": { "alias": "defaultChipSpec"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "chipSpecFn": { "alias": "chipSpecFn"; "required": false; }; "chipTemplate": { "alias": "chipTemplate"; "required": false; }; "chipAvatarTemplate": { "alias": "chipAvatarTemplate"; "required": false; }; }, {}, ["chipTemplateQuery", "chipAvatarTemplateQuery"], ["*"], true, never>;
96
100
  }
97
101
  export {};
@@ -0,0 +1,39 @@
1
+ import { DestroyRef } from '@angular/core';
2
+ import { ElderSearchInputDirective } from '../../forms/search/elder-search-input.directive';
3
+ import { ElderChipsFilterDirective } from '../filter/elder-chips-filter.directive';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ElderSearchIncludeExcludeDirective {
6
+ private readonly elderSearchInput;
7
+ private readonly elderChipsFilter;
8
+ private destroyRef;
9
+ /***************************************************************************
10
+ * *
11
+ * Fields *
12
+ * *
13
+ **************************************************************************/
14
+ private readonly _includeSuffix$;
15
+ private readonly _excludeSuffix$;
16
+ /***************************************************************************
17
+ * *
18
+ * Properties *
19
+ * *
20
+ **************************************************************************/
21
+ set includeSuffix(suffix: string);
22
+ set excludeSuffix(suffix: string);
23
+ /***************************************************************************
24
+ * *
25
+ * Constructor *
26
+ * *
27
+ **************************************************************************/
28
+ constructor(elderSearchInput: ElderSearchInputDirective, elderChipsFilter: ElderChipsFilterDirective, destroyRef: DestroyRef);
29
+ /***************************************************************************
30
+ * *
31
+ * Private Methods *
32
+ * *
33
+ **************************************************************************/
34
+ private setupSearchQueryTransforms;
35
+ private setupConverter;
36
+ private transformSelectionToMap;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderSearchIncludeExcludeDirective, never>;
38
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderSearchIncludeExcludeDirective, "[elderSearchIncludeExclude]", never, { "includeSuffix": { "alias": "includeSuffix"; "required": false; }; "excludeSuffix": { "alias": "excludeSuffix"; "required": false; }; }, {}, never, never, true, never>;
39
+ }
@@ -119,7 +119,6 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
119
119
  onOptionSelected(optionSelected: ElderAutocompleteOptionSelected<TEntity, TId>): void;
120
120
  openSelectionPopup(event: Event): void;
121
121
  clear(event?: Event): void;
122
- forceReloadFirst(): void;
123
122
  updateValueByEntity(entity: TEntity): void;
124
123
  focus(options?: FocusOptions): void;
125
124
  blur(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "17.9.0",
3
+ "version": "17.11.0-beta",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^17.0.0 || ^18.0.0",
6
6
  "@angular/common": "^17.0.0 || ^18.0.0",
@@ -0,0 +1,95 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../../../../theming/elder-typography-utils' as elder-typography;
4
+ @use '../../elder-select-base' as elder-select-base;
5
+
6
+ @mixin typography($typography-config) {
7
+ $config: $typography-config; // TODO $typography-config
8
+ // The unit-less line-height from the font config.
9
+ $line-height: mat.line-height($config, body-1);
10
+ $font-size: mat.font-size($config, body-1);
11
+ $line-height-em: elder-typography.coerce-unitless-to-em($line-height);
12
+
13
+ @include elder-select-base.typography($typography-config);
14
+
15
+ .elder-multi-select {
16
+ font-family: mat.font-family($config);
17
+
18
+ .elder-select-input {
19
+ height: $line-height-em
20
+ }
21
+
22
+ .elder-prefix-icon {
23
+ margin-left: 3px;
24
+ }
25
+
26
+ .elder-chip-input {
27
+ flex: 1 0 auto;
28
+ padding-left: 8px;
29
+ }
30
+
31
+ .elder-chip-input-select {
32
+ flex: 1 0 140px;
33
+ max-width: 100%;
34
+ }
35
+
36
+ .elder-browse-icon {
37
+ margin-right: 4px;
38
+ }
39
+ }
40
+ }
41
+
42
+ @mixin theme($config-or-theme) {
43
+ $color: mat.get-color-config($config-or-theme);
44
+ $typography: elder-typography.get-typography-config($config-or-theme);
45
+
46
+ // If no actual typography configuration has been specified, create a default one.
47
+ @if not $typography {
48
+ $typography: mat.define-typography-config();
49
+ }
50
+
51
+ @if $color != null {
52
+ @include elder-select-base.color($color);
53
+ @include _chip_color($config-or-theme)
54
+ }
55
+
56
+ @if $typography != null {
57
+ @include typography($typography);
58
+ }
59
+ }
60
+
61
+ @mixin _chip_color($theme){
62
+ $primary: map-get($theme, primary);
63
+ $accent: map-get($theme, accent);
64
+ $warn: map-get($theme, warn);
65
+ $background: map-get($theme, background);
66
+ $foreground: map-get($theme, foreground);
67
+
68
+ }
69
+
70
+ .elder-chip-text {
71
+ overflow: hidden;
72
+ text-overflow: ellipsis;
73
+ white-space: nowrap;
74
+ }
75
+
76
+ .elder-trailing-icon {
77
+ color: var(--mdc-chip-with-trailing-icon-trailing-icon-color);
78
+ opacity: 0.54;
79
+ }
80
+
81
+ .cdk-drag-preview {
82
+ box-sizing: border-box;
83
+ // border-radius: 4px;
84
+ box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
85
+ 0 8px 10px 1px rgba(0, 0, 0, 0.14),
86
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12);
87
+ }
88
+
89
+ .cdk-drag-placeholder {
90
+ opacity: 0;
91
+ }
92
+
93
+ .cdk-drag-animating {
94
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
95
+ }