@ngutil/floating 0.0.34 → 0.0.35
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.
- package/esm2022/floating/floating-ref.mjs +4 -1
- package/esm2022/floating/traits/_base.mjs +2 -3
- package/esm2022/floating/traits/animation.mjs +2 -4
- package/esm2022/floating/traits/attribute.mjs +2 -4
- package/esm2022/floating/traits/backdrop.mjs +2 -4
- package/esm2022/floating/traits/dim-contraint.mjs +2 -4
- package/esm2022/floating/traits/focus.mjs +48 -0
- package/esm2022/floating/traits/index.mjs +2 -2
- package/esm2022/floating/traits/keystroke.mjs +2 -4
- package/esm2022/floating/traits/modal.mjs +3 -3
- package/esm2022/floating/traits/position.mjs +2 -4
- package/esm2022/floating/traits/style.mjs +2 -4
- package/fesm2022/ngutil-floating.mjs +43 -28
- package/fesm2022/ngutil-floating.mjs.map +1 -1
- package/floating/traits/_base.d.ts +3 -3
- package/floating/traits/animation.d.ts +2 -2
- package/floating/traits/attribute.d.ts +2 -2
- package/floating/traits/backdrop.d.ts +2 -2
- package/floating/traits/dim-contraint.d.ts +1 -1
- package/floating/traits/focus.d.ts +19 -0
- package/floating/traits/index.d.ts +1 -1
- package/floating/traits/keystroke.d.ts +1 -1
- package/floating/traits/modal.d.ts +1 -1
- package/floating/traits/position.d.ts +2 -2
- package/floating/traits/style.d.ts +2 -2
- package/package.json +4 -4
- package/esm2022/floating/traits/focus-trap.mjs +0 -27
- package/floating/traits/focus-trap.d.ts +0 -8
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { Focusable, FocusState } from "@ngutil/aria";
|
|
3
|
+
import { ElementInput } from "@ngutil/common";
|
|
4
|
+
import { FloatingRef } from "../floating-ref";
|
|
5
|
+
import { FloatingTrait } from "./_base";
|
|
6
|
+
export interface FocusOptions {
|
|
7
|
+
trap?: boolean;
|
|
8
|
+
connect?: Focusable | FocusState;
|
|
9
|
+
tabindex?: number;
|
|
10
|
+
focusOnClose?: ElementInput;
|
|
11
|
+
}
|
|
12
|
+
export declare class FocusTrait implements FloatingTrait<unknown> {
|
|
13
|
+
#private;
|
|
14
|
+
readonly options: FocusOptions;
|
|
15
|
+
readonly name = "focus";
|
|
16
|
+
constructor(options: FocusOptions);
|
|
17
|
+
connect(floatingRef: FloatingRef): Observable<unknown>;
|
|
18
|
+
}
|
|
19
|
+
export declare function focus(options: FocusOptions): FocusTrait;
|
|
@@ -2,7 +2,7 @@ export * from "./_base";
|
|
|
2
2
|
export * from "./animation";
|
|
3
3
|
export * from "./backdrop";
|
|
4
4
|
export * from "./dim-contraint";
|
|
5
|
-
export * from "./focus
|
|
5
|
+
export * from "./focus";
|
|
6
6
|
export * from "./keystroke";
|
|
7
7
|
export * from "./modal";
|
|
8
8
|
export * from "./position-calc";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { FloatingRef } from "../floating-ref";
|
|
3
3
|
import { FloatingTrait } from "./_base";
|
|
4
|
-
export declare class KeystrokeTrait
|
|
4
|
+
export declare class KeystrokeTrait implements FloatingTrait<unknown> {
|
|
5
5
|
name: string;
|
|
6
6
|
connect(floatingRef: FloatingRef): Observable<unknown>;
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export interface ModalOptions {
|
|
2
2
|
closeOnBackdropClick?: boolean;
|
|
3
3
|
}
|
|
4
|
-
export declare function modal(options?: ModalOptions): (import("./animation").AnimationTrait | import("./position").PositionTrait | import("./backdrop").BackdropTrait | import("./focus
|
|
4
|
+
export declare function modal(options?: ModalOptions): (import("./animation").AnimationTrait | import("./position").PositionTrait | import("./backdrop").BackdropTrait | import("./focus").FocusTrait | import("./keystroke").KeystrokeTrait)[];
|
|
@@ -41,8 +41,8 @@ export type FloatingPositionOptionsNormalized = FloatingPositionOptions & {
|
|
|
41
41
|
content: FloatingContent;
|
|
42
42
|
placement: FloatingPlacement;
|
|
43
43
|
};
|
|
44
|
-
export declare class PositionTrait
|
|
45
|
-
name
|
|
44
|
+
export declare class PositionTrait implements FloatingTrait<FloatingPosition> {
|
|
45
|
+
readonly name = "position";
|
|
46
46
|
readonly options: FloatingPositionOptionsNormalized;
|
|
47
47
|
constructor(options: FloatingPositionOptions);
|
|
48
48
|
connect(floatingRef: FloatingRef<any>): Observable<FloatingPosition>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { FloatingRef } from "../floating-ref";
|
|
3
3
|
import { FloatingTrait } from "./_base";
|
|
4
|
-
export declare class StyleTrait
|
|
4
|
+
export declare class StyleTrait implements FloatingTrait<Partial<CSSStyleDeclaration>> {
|
|
5
5
|
readonly styles: Partial<CSSStyleDeclaration>;
|
|
6
|
-
name
|
|
6
|
+
readonly name = "style";
|
|
7
7
|
constructor(styles: Partial<CSSStyleDeclaration>);
|
|
8
8
|
connect(floatingRef: FloatingRef): Observable<Partial<CSSStyleDeclaration>>;
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngutil/floating",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.35",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.6.2"
|
|
6
6
|
},
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"@angular/cdk": "^17.3.6",
|
|
9
9
|
"@angular/common": "^17.3.6",
|
|
10
10
|
"@angular/core": "^17.3.6",
|
|
11
|
-
"@ngutil/aria": "0.0.
|
|
12
|
-
"@ngutil/common": "0.0.
|
|
13
|
-
"@ngutil/style": "0.0.
|
|
11
|
+
"@ngutil/aria": "0.0.35",
|
|
12
|
+
"@ngutil/common": "0.0.35",
|
|
13
|
+
"@ngutil/style": "0.0.35"
|
|
14
14
|
},
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public",
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
import { FocusService } from "@ngutil/aria";
|
|
3
|
-
import { FloatingTrait } from "./_base";
|
|
4
|
-
export class FocusTrapTrait extends FloatingTrait {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.name = "focus-trap";
|
|
8
|
-
}
|
|
9
|
-
connect(floatingRef) {
|
|
10
|
-
return new Observable(() => {
|
|
11
|
-
const svc = floatingRef.container.injector.get(FocusService);
|
|
12
|
-
const trap = svc.focusTrap(floatingRef.container.nativeElement);
|
|
13
|
-
const originallyFocused = document.activeElement;
|
|
14
|
-
floatingRef.state.on("shown", () => {
|
|
15
|
-
trap.focusInitialElement();
|
|
16
|
-
});
|
|
17
|
-
return () => {
|
|
18
|
-
trap.destroy();
|
|
19
|
-
originallyFocused && svc.focus(originallyFocused, "program");
|
|
20
|
-
};
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function focusTrap() {
|
|
25
|
-
return new FocusTrapTrait();
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvZm9jdXMtdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV2QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQXNCO0lBQTFEOztRQUNhLFNBQUksR0FBRyxZQUFZLENBQUE7SUFpQmhDLENBQUM7SUFoQlksT0FBTyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUM1RCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDL0QsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsYUFBNEIsQ0FBQTtZQUUvRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtZQUM5QixDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDZCxpQkFBaUIsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ2hFLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDckIsT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFBO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tIFwiQG5ndXRpbC9hcmlhXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5cbmV4cG9ydCBjbGFzcyBGb2N1c1RyYXBUcmFpdCBleHRlbmRzIEZsb2F0aW5nVHJhaXQ8dW5rbm93bj4ge1xuICAgIG92ZXJyaWRlIG5hbWUgPSBcImZvY3VzLXRyYXBcIlxuICAgIG92ZXJyaWRlIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdmMgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEZvY3VzU2VydmljZSlcbiAgICAgICAgICAgIGNvbnN0IHRyYXAgPSBzdmMuZm9jdXNUcmFwKGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxseUZvY3VzZWQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG5cbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwic2hvd25cIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyYXAuZm9jdXNJbml0aWFsRWxlbWVudCgpXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyYXAuZGVzdHJveSgpXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxseUZvY3VzZWQgJiYgc3ZjLmZvY3VzKG9yaWdpbmFsbHlGb2N1c2VkLCBcInByb2dyYW1cIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb2N1c1RyYXAoKSB7XG4gICAgcmV0dXJuIG5ldyBGb2N1c1RyYXBUcmFpdCgpXG59XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
import { FloatingRef } from "../floating-ref";
|
|
3
|
-
import { FloatingTrait } from "./_base";
|
|
4
|
-
export declare class FocusTrapTrait extends FloatingTrait<unknown> {
|
|
5
|
-
name: string;
|
|
6
|
-
connect(floatingRef: FloatingRef): Observable<unknown>;
|
|
7
|
-
}
|
|
8
|
-
export declare function focusTrap(): FocusTrapTrait;
|