@ethlete/core 2.9.0 → 3.0.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.
@@ -1,14 +1,13 @@
1
1
  import { OverlayRef } from '@angular/cdk/overlay';
2
2
  import { ComponentPortal, ComponentType } from '@angular/cdk/portal';
3
- import { ComponentRef, StaticProvider } from '@angular/core';
4
- import { Instance as PopperInstance, Placement as PopperPlacement } from '@popperjs/core';
5
- import { Options as ArrowOptions } from '@popperjs/core/lib/modifiers/arrow';
6
- import { Options as OffsetOptions } from '@popperjs/core/lib/modifiers/offset';
3
+ import { ComponentRef, ElementRef, StaticProvider } from '@angular/core';
4
+ import { OffsetOptions, Padding, Placement } from '@floating-ui/dom';
7
5
  import { Subject } from 'rxjs';
8
6
  import { AnimatedLifecycleDirective } from '../animated-lifecycle';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "../observe-resize/observe-resize.directive";
11
9
  export interface AnimatedOverlayComponentBase {
10
+ _elementRef?: ElementRef<HTMLElement>;
12
11
  _animatedLifecycle?: AnimatedLifecycleDirective;
13
12
  _markForCheck?: () => void;
14
13
  }
@@ -23,7 +22,7 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
23
22
  private _portal;
24
23
  private _overlayRef;
25
24
  private _componentRef;
26
- private _popper;
25
+ private _floatingElCleanupFn;
27
26
  private _beforeOpened;
28
27
  private _afterOpened;
29
28
  private _beforeClosed;
@@ -33,25 +32,41 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
33
32
  private readonly _isUnmounting$;
34
33
  /**
35
34
  * The placement of the animated overlay.
36
- * @default 'auto'
35
+ * @default undefined
37
36
  */
38
- placement: PopperPlacement;
37
+ placement?: Placement;
39
38
  /**
40
39
  * The allowed auto placements of the animated overlay.
41
- * @see https://popper.js.org/docs/v2/modifiers/flip/#allowedautoplacements
40
+ * @see https://floating-ui.com/docs/flip#fallbackplacements
42
41
  */
43
- allowedAutoPlacements?: PopperPlacement[];
42
+ fallbackPlacements?: Placement[];
44
43
  /**
45
44
  * The offset of the animated overlay.
46
- * @see https://popper.js.org/docs/v2/modifiers/offset/#offset-1
45
+ * @see https://floating-ui.com/docs/offset
47
46
  */
48
- offset: OffsetOptions['offset'] | Readonly<OffsetOptions['offset']> | null;
47
+ offset: OffsetOptions | null;
49
48
  /**
50
49
  * The arrow padding.
51
- * @see https://popper.js.org/docs/v2/modifiers/arrow/#padding
50
+ * @see https://floating-ui.com/docs/arrow#padding
52
51
  * @default 4
53
52
  */
54
- arrowPadding: ArrowOptions['padding'] | null;
53
+ arrowPadding: Padding | null;
54
+ /**
55
+ * The viewport padding.
56
+ * @default 8
57
+ */
58
+ viewportPadding: Padding | null;
59
+ /**
60
+ * Whether the animated overlay should auto resize to fit the available space.
61
+ * Useful for things like selects where the list of options might be longer than the available space.
62
+ * @default false
63
+ */
64
+ autoResize: boolean;
65
+ /**
66
+ * Whether the animated overlay should auto hide when the reference element is hidden.
67
+ * @default false
68
+ */
69
+ autoHide: boolean;
55
70
  get isMounted(): boolean;
56
71
  get isMounted$(): import("rxjs").Observable<boolean>;
57
72
  get isMounting(): boolean;
@@ -60,7 +75,6 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
60
75
  get portal(): ComponentPortal<T> | null;
61
76
  get overlayRef(): OverlayRef | null;
62
77
  get componentRef(): ComponentRef<T> | null;
63
- get popper(): PopperInstance | null;
64
78
  mount(config: {
65
79
  component: ComponentType<T>;
66
80
  providers?: StaticProvider[];
@@ -73,7 +87,6 @@ export declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponent
73
87
  beforeClosed(): Subject<void>;
74
88
  afterClosed(): Subject<void>;
75
89
  _destroy(): void;
76
- _reposition(): void;
77
90
  static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedOverlayDirective<any>, never>;
78
- static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedOverlayDirective<any>, never, never, { "placement": { "alias": "placement"; "required": false; }; "allowedAutoPlacements": { "alias": "allowedAutoPlacements"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.ObserveResizeDirective; inputs: {}; outputs: {}; }]>;
91
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedOverlayDirective<any>, never, never, { "placement": { "alias": "placement"; "required": false; }; "fallbackPlacements": { "alias": "fallbackPlacements"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; }; "viewportPadding": { "alias": "viewportPadding"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "autoHide": { "alias": "autoHide"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.ObserveResizeDirective; inputs: {}; outputs: {}; }]>;
79
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/core",
3
- "version": "2.9.0",
3
+ "version": "3.0.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.5.0"
6
6
  },
@@ -11,7 +11,7 @@
11
11
  "@ethlete/types": "1.3.0",
12
12
  "rxjs": "7.8.1",
13
13
  "@angular/cdk": "16.1.5",
14
- "@popperjs/core": "2.11.8",
14
+ "@floating-ui/dom": "1.4.5",
15
15
  "@angular/router": "16.1.6",
16
16
  "@angular/forms": "16.1.6"
17
17
  },