@ethlete/core 2.2.0 → 2.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.
Files changed (39) hide show
  1. package/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
  2. package/esm2022/lib/directives/animatable/animatable.directive.mjs +3 -3
  3. package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
  4. package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +15 -6
  5. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
  6. package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
  7. package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
  8. package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
  9. package/esm2022/lib/directives/let/let.directive.mjs +3 -3
  10. package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +3 -3
  11. package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
  12. package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
  13. package/esm2022/lib/directives/repeat/repeat.directive.mjs +3 -3
  14. package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
  15. package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
  16. package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
  17. package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
  18. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
  19. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
  20. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
  21. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
  22. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
  23. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  24. package/esm2022/lib/services/click-observer.service.mjs +6 -6
  25. package/esm2022/lib/services/content-observer.service.mjs +6 -6
  26. package/esm2022/lib/services/focus-visible.service.mjs +3 -3
  27. package/esm2022/lib/services/resize-observer.service.mjs +6 -6
  28. package/esm2022/lib/services/router-state.service.mjs +3 -3
  29. package/esm2022/lib/services/viewport.service.mjs +3 -3
  30. package/esm2022/lib/utils/public-api.mjs +3 -1
  31. package/esm2022/lib/utils/runtime-error.utils.mjs +28 -0
  32. package/esm2022/lib/utils/selection-model.utils.mjs +292 -0
  33. package/fesm2022/ethlete-core.mjs +426 -99
  34. package/fesm2022/ethlete-core.mjs.map +1 -1
  35. package/lib/directives/animated-overlay/animated-overlay.directive.d.ts +3 -0
  36. package/lib/utils/public-api.d.ts +2 -0
  37. package/lib/utils/runtime-error.utils.d.ts +6 -0
  38. package/lib/utils/selection-model.utils.d.ts +72 -0
  39. package/package.json +5 -5
@@ -28,6 +28,7 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
28
28
  private _afterOpened;
29
29
  private _beforeClosed;
30
30
  private _afterClosed;
31
+ private readonly _isMounted$;
31
32
  /**
32
33
  * The placement of the tooltip.
33
34
  * @default 'auto'
@@ -45,6 +46,7 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
45
46
  */
46
47
  arrowPadding: ArrowOptions['padding'] | null;
47
48
  get isMounted(): boolean;
49
+ get isMounted$(): import("rxjs").Observable<boolean>;
48
50
  get portal(): ComponentPortal<T> | null;
49
51
  get overlayRef(): OverlayRef | null;
50
52
  get componentRef(): ComponentRef<T> | null;
@@ -61,6 +63,7 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
61
63
  beforeClosed(): Subject<void>;
62
64
  afterClosed(): Subject<void>;
63
65
  _destroy(): void;
66
+ _reposition(): void;
64
67
  static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedOverlayDirective<any>, never>;
65
68
  static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedOverlayDirective<any>, never, never, { "placement": { "alias": "placement"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.ObserveResizeDirective; inputs: {}; outputs: {}; }]>;
66
69
  }
@@ -6,7 +6,9 @@ export * from './destroy.utils';
6
6
  export * from './equal.util';
7
7
  export * from './media-query-observable.util';
8
8
  export * from './reactive-binding.util';
9
+ export * from './runtime-error.utils';
9
10
  export * from './rxjs.utils';
10
11
  export * from './scrollable.utils';
12
+ export * from './selection-model.utils';
11
13
  export * from './smart-block-scroll-strategy.utils';
12
14
  export * from './viewport.util';
@@ -0,0 +1,6 @@
1
+ export declare class RuntimeError<T extends number> extends Error {
2
+ code: T;
3
+ data: unknown;
4
+ constructor(code: T, message: null | false | string, data?: unknown);
5
+ }
6
+ export declare function formatRuntimeError<T extends number>(code: T, message: null | false | string): string;
@@ -0,0 +1,72 @@
1
+ type SelectionModelTypes = string | number | Record<string, unknown> | unknown;
2
+ export declare class SelectionModel<T extends SelectionModelTypes = unknown> {
3
+ get selection$(): import("rxjs").Observable<T[]>;
4
+ get selection(): T[];
5
+ private readonly _selection$;
6
+ get options$(): import("rxjs").Observable<T[]>;
7
+ get options(): T[];
8
+ private readonly _options$;
9
+ get valueBinding$(): import("rxjs").Observable<string | null>;
10
+ get valueBinding(): string | null;
11
+ private readonly _valueBinding$;
12
+ get keyBinding$(): import("rxjs").Observable<string | null>;
13
+ get keyBinding(): string | null;
14
+ private readonly _keyBinding$;
15
+ get labelBinding$(): import("rxjs").Observable<string | null>;
16
+ get labelBinding(): string | null;
17
+ private readonly _labelBinding$;
18
+ get allowMultiple$(): import("rxjs").Observable<boolean>;
19
+ get allowMultiple(): boolean;
20
+ private readonly _allowMultiple$;
21
+ get filter$(): import("rxjs").Observable<string>;
22
+ get filter(): string;
23
+ private readonly _filter$;
24
+ readonly value$: import("rxjs").Observable<unknown>;
25
+ readonly filteredOptions$: import("rxjs").Observable<T[]>;
26
+ private readonly _optionsAndSelection$;
27
+ setSelection(selection: T | T[]): this;
28
+ setValueBinding(propertyPath: string | null): this;
29
+ setKeyBinding(propertyPath: string | null): this;
30
+ setLabelBinding(propertyPath: string | null): this;
31
+ setOptions(options: T[]): this;
32
+ setAllowMultiple(allowMultiple: boolean): this;
33
+ setFilter(filter: string | null): void;
34
+ reset(): void;
35
+ getOptionByValue$(value: unknown): import("rxjs").Observable<T | undefined>;
36
+ getOptionByLabel$(label: string): import("rxjs").Observable<T | undefined>;
37
+ getOptionByKey$(key: string): import("rxjs").Observable<T | undefined>;
38
+ isSelected$(option: T): import("rxjs").Observable<boolean>;
39
+ getLabel$(option: T): import("rxjs").Observable<unknown>;
40
+ getValue$(option: T): import("rxjs").Observable<unknown>;
41
+ getKey$(option: T): import("rxjs").Observable<unknown>;
42
+ getOptionByValue(value: unknown): T | undefined;
43
+ getOptionByLabel(label: string): T | undefined;
44
+ getOptionByKey(key: string): T | undefined;
45
+ getOption(value: unknown, propertyPath?: string | null, options?: T[]): T | undefined;
46
+ getOptionByIndex(index: number, options?: T[]): T | null;
47
+ getOptionByOffset(offset: number, index: number, options?: T[], config?: {
48
+ loop?: boolean;
49
+ clamp?: boolean;
50
+ }): T | null;
51
+ getFirstOption(options?: T[]): T | null;
52
+ getLastOption(options?: T[]): T | null;
53
+ getOptionIndex(option: T, options?: T[]): number | null;
54
+ getNonMultipleSelectedOption(): T | null;
55
+ getNonMultipleSelectedOptionIndex(): number | null;
56
+ getNonMultipleOptionByOffsetFromSelected(offset: number, config?: {
57
+ loop?: boolean;
58
+ clamp?: boolean;
59
+ }): T | null;
60
+ getLabel(option: T): unknown;
61
+ getValue(option: T): unknown;
62
+ getKey(option: T): unknown;
63
+ getOptionProperty(option: T, propertyPath: string | null): unknown;
64
+ isSelected(option: T): boolean;
65
+ getFilteredOptions(filter?: string, options?: T[]): T[];
66
+ addSelectedOption(option: T): void;
67
+ removeSelectedOption(option: T): void;
68
+ clearSelectedOptions(): void;
69
+ toggleSelectedOption(option: T): void;
70
+ toggleAllSelectedOptions(): void;
71
+ }
72
+ export {};
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@ethlete/core",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.5.0"
6
6
  },
7
7
  "peerDependencies": {
8
8
  "@angular/common": "^15.2.1 || ^16.0.0",
9
9
  "@angular/core": "^15.2.1 || ^16.0.0",
10
- "@angular/platform-browser": "16.0.0",
10
+ "@angular/platform-browser": "16.0.2",
11
11
  "@ethlete/types": "1.1.1",
12
12
  "rxjs": "7.8.1",
13
- "@angular/cdk": "16.0.0",
13
+ "@angular/cdk": "16.0.1",
14
14
  "@popperjs/core": "2.11.7",
15
- "@angular/router": "16.0.0",
16
- "@angular/forms": "16.0.0"
15
+ "@angular/router": "16.0.2",
16
+ "@angular/forms": "16.0.2"
17
17
  },
18
18
  "module": "fesm2022/ethlete-core.mjs",
19
19
  "typings": "index.d.ts",