@acorex/cdk 22.1.8 → 22.2.0-next.1
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/auto-follow-scroll/README.md +9 -0
- package/fesm2022/acorex-cdk-accordion.mjs +19 -19
- package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
- package/fesm2022/acorex-cdk-auto-follow-scroll.mjs +187 -0
- package/fesm2022/acorex-cdk-auto-follow-scroll.mjs.map +1 -0
- package/fesm2022/acorex-cdk-carousel.mjs +25 -7
- package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
- package/fesm2022/acorex-cdk-clipboard.mjs +6 -6
- package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
- package/fesm2022/acorex-cdk-common.mjs +223 -108
- package/fesm2022/acorex-cdk-common.mjs.map +1 -1
- package/fesm2022/acorex-cdk-dom.mjs +3 -3
- package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drag-drop.mjs +158 -68
- package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drawer.mjs +15 -13
- package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
- package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
- package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
- package/fesm2022/acorex-cdk-full-screen.mjs +26 -147
- package/fesm2022/acorex-cdk-full-screen.mjs.map +1 -1
- package/fesm2022/acorex-cdk-gesture.mjs +30 -4
- package/fesm2022/acorex-cdk-gesture.mjs.map +1 -1
- package/fesm2022/acorex-cdk-highlight.mjs +8 -78
- package/fesm2022/acorex-cdk-highlight.mjs.map +1 -1
- package/fesm2022/acorex-cdk-horizontal-scroll.mjs +37 -14
- package/fesm2022/acorex-cdk-horizontal-scroll.mjs.map +1 -1
- package/fesm2022/acorex-cdk-input-mask.mjs +3 -3
- package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
- package/fesm2022/acorex-cdk-list-navigation.mjs +21 -10
- package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
- package/fesm2022/acorex-cdk-outline.mjs +277 -74
- package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
- package/fesm2022/acorex-cdk-overlay-scrollbar.mjs +903 -0
- package/fesm2022/acorex-cdk-overlay-scrollbar.mjs.map +1 -0
- package/fesm2022/acorex-cdk-overlay.mjs +259 -25
- package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
- package/fesm2022/acorex-cdk-pan-view.mjs +3 -3
- package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
- package/fesm2022/acorex-cdk-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-cdk-resizable.mjs +483 -200
- package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
- package/fesm2022/acorex-cdk-selection.mjs +10 -10
- package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
- package/fesm2022/acorex-cdk-shimmer.mjs +220 -0
- package/fesm2022/acorex-cdk-shimmer.mjs.map +1 -0
- package/fesm2022/acorex-cdk-sliding-item.mjs +3 -3
- package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-cdk-sticky.mjs +3 -3
- package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
- package/fesm2022/acorex-cdk-text-editor.mjs +942 -0
- package/fesm2022/acorex-cdk-text-editor.mjs.map +1 -0
- package/fesm2022/acorex-cdk-uploader.mjs +9 -9
- package/fesm2022/acorex-cdk-uploader.mjs.map +1 -1
- package/fesm2022/acorex-cdk-viewport-guard.mjs +616 -0
- package/fesm2022/acorex-cdk-viewport-guard.mjs.map +1 -0
- package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
- package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
- package/fesm2022/acorex-cdk-wysiwyg.mjs +694 -37
- package/fesm2022/acorex-cdk-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-cdk-z-index.mjs +3 -3
- package/fesm2022/acorex-cdk-z-index.mjs.map +1 -1
- package/fesm2022/acorex-cdk.mjs.map +1 -1
- package/overlay-scrollbar/README.md +54 -0
- package/package.json +33 -7
- package/shimmer/README.md +11 -0
- package/text-editor/README.md +5 -0
- package/types/acorex-cdk-auto-follow-scroll.d.ts +72 -0
- package/types/acorex-cdk-carousel.d.ts +2 -0
- package/types/acorex-cdk-clipboard.d.ts +1 -1
- package/types/acorex-cdk-common.d.ts +46 -19
- package/types/acorex-cdk-drag-drop.d.ts +43 -17
- package/types/acorex-cdk-full-screen.d.ts +18 -43
- package/types/acorex-cdk-gesture.d.ts +11 -1
- package/types/acorex-cdk-highlight.d.ts +1 -28
- package/types/acorex-cdk-horizontal-scroll.d.ts +3 -0
- package/types/acorex-cdk-list-navigation.d.ts +5 -0
- package/types/acorex-cdk-outline.d.ts +20 -0
- package/types/acorex-cdk-overlay-scrollbar.d.ts +155 -0
- package/types/acorex-cdk-overlay.d.ts +60 -4
- package/types/acorex-cdk-resizable.d.ts +80 -38
- package/types/acorex-cdk-shimmer.d.ts +68 -0
- package/types/acorex-cdk-text-editor.d.ts +156 -0
- package/types/acorex-cdk-uploader.d.ts +1 -1
- package/types/acorex-cdk-viewport-guard.d.ts +99 -0
- package/types/acorex-cdk-wysiwyg.d.ts +121 -14
- package/wysiwyg/README.md +3 -1
- package/fesm2022/acorex-cdk-double-click.mjs +0 -178
- package/fesm2022/acorex-cdk-double-click.mjs.map +0 -1
- package/types/acorex-cdk-double-click.d.ts +0 -66
|
@@ -4,6 +4,40 @@ import { AXZToken } from '@acorex/core/z-index';
|
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { ElementRef, EmbeddedViewRef, ComponentRef } from '@angular/core';
|
|
6
6
|
|
|
7
|
+
declare const AX_OVERLAY_DEFAULT_ENTER_ANIMATION: string[];
|
|
8
|
+
declare const AX_OVERLAY_DEFAULT_LEAVE_ANIMATION: string[];
|
|
9
|
+
type AXOverlayAnimation = boolean | string[] | {
|
|
10
|
+
enter?: string[];
|
|
11
|
+
leave?: string[];
|
|
12
|
+
};
|
|
13
|
+
interface AXOverlayResolvedAnimation {
|
|
14
|
+
enter: string[];
|
|
15
|
+
leave: string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolves overlay animation classes.
|
|
19
|
+
* - omitted: no animation (opt-in at the overlay layer)
|
|
20
|
+
* - `true`: default fade in/out
|
|
21
|
+
* - `false` or `[]`: no animation
|
|
22
|
+
* - `string[]`: custom enter classes only
|
|
23
|
+
* - `{ enter, leave }`: omitted keys fall back to the default fade classes
|
|
24
|
+
*/
|
|
25
|
+
declare function resolveOverlayAnimation(animation?: AXOverlayAnimation): AXOverlayResolvedAnimation;
|
|
26
|
+
/** Prefers the content/pane so transforms are not applied to the full-screen container. */
|
|
27
|
+
declare function getOverlayAnimationTarget(container: HTMLElement): HTMLElement;
|
|
28
|
+
declare function applyOverlayAnimationClasses(element: HTMLElement, classes: string[]): void;
|
|
29
|
+
declare function removeOverlayAnimationClasses(element: HTMLElement, classes: string[]): void;
|
|
30
|
+
declare function prefersReducedMotion(documentRef: Document): boolean;
|
|
31
|
+
declare function parseCssTimeList(value: string): number[];
|
|
32
|
+
/** Maps theme duration utility classes to milliseconds (see tailwind-base). */
|
|
33
|
+
declare function getAnimationDurationFromClasses(classes: string[]): number;
|
|
34
|
+
declare function getOverlayAnimationTimeout(element: HTMLElement, documentRef: Document, fallbackMs?: number): number;
|
|
35
|
+
declare function playOverlayLeaveAnimation(element: HTMLElement, enter: string[], leave: string[], documentRef: Document): Promise<void>;
|
|
36
|
+
declare function waitForOverlayAnimationEnd(element: HTMLElement, documentRef: Document, options?: {
|
|
37
|
+
fallbackMs?: number;
|
|
38
|
+
animationName?: string;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
|
|
7
41
|
type AXOverlayVisualContextScope = 'full' | 'theme';
|
|
8
42
|
interface AXOverlayVisualContext {
|
|
9
43
|
appearance?: string;
|
|
@@ -29,10 +63,12 @@ interface AXOverlayRef<T> {
|
|
|
29
63
|
instance: EmbeddedViewRef<T> | ComponentRef<T>;
|
|
30
64
|
/** Updates the overlay position relative to the anchor */
|
|
31
65
|
updatePosition: () => void;
|
|
32
|
-
/** Destroys the overlay
|
|
66
|
+
/** Destroys the overlay. DOM removal waits for a leave animation when one is configured. */
|
|
33
67
|
dispose: () => void;
|
|
34
68
|
/** The overlay container element */
|
|
35
69
|
overlayElement: HTMLElement | null;
|
|
70
|
+
/** The backdrop element if one was created */
|
|
71
|
+
backdropElement: HTMLElement | null;
|
|
36
72
|
/** The z-index token for this overlay */
|
|
37
73
|
zToken: AXZToken | null;
|
|
38
74
|
/** Brings this overlay to the front of all other overlays */
|
|
@@ -62,12 +98,20 @@ interface AXOverlayOptions extends AXComponentOptions {
|
|
|
62
98
|
anchorOptions?: AXOverlayAnchorOptions;
|
|
63
99
|
/** Custom CSS class for the overlay panel */
|
|
64
100
|
panelClass?: string | string[];
|
|
101
|
+
/**
|
|
102
|
+
* Enter/leave animation applied to overlay content (`.ax-overlay-content` or `.ax-overlay-pane`),
|
|
103
|
+
* not the full-screen container. Omitted: no animation. `true`: default fade in/out.
|
|
104
|
+
* `false` or `[]`: disabled. A class array is enter-only. `{ enter, leave }` configures both.
|
|
105
|
+
*/
|
|
106
|
+
animation?: AXOverlayAnimation;
|
|
65
107
|
/** Whether to close when clicking outside */
|
|
66
108
|
closeOnOutsideClick?: boolean;
|
|
67
109
|
/** Whether to close when pressing Escape */
|
|
68
110
|
closeOnEscape?: boolean;
|
|
69
111
|
/** Width of the overlay container (e.g., 'auto', '200px', '100%') */
|
|
70
112
|
width?: string;
|
|
113
|
+
/** Dispose this overlay when Angular starts a navigation. Default: true. */
|
|
114
|
+
closeOnNavigation?: boolean;
|
|
71
115
|
/** Callback when the overlay is disposed (e.g., due to scroll) */
|
|
72
116
|
onDispose?: () => void;
|
|
73
117
|
/** Whether to use centered container (default: true). Set to false for positioned overlays like toasts */
|
|
@@ -127,6 +171,7 @@ declare class AXOverlayService {
|
|
|
127
171
|
private document;
|
|
128
172
|
private zIndexService;
|
|
129
173
|
private _platform;
|
|
174
|
+
private router;
|
|
130
175
|
/**
|
|
131
176
|
* Creates an overlay with optional anchor-based positioning.
|
|
132
177
|
* @param content - Component or template to display
|
|
@@ -134,6 +179,17 @@ declare class AXOverlayService {
|
|
|
134
179
|
* @returns Promise<AXOverlayRef> - Reference to the created overlay
|
|
135
180
|
*/
|
|
136
181
|
create<T = unknown>(content: AXComponentContent<T>, options?: AXOverlayOptions): Promise<AXOverlayRef<T>>;
|
|
182
|
+
/**
|
|
183
|
+
* Mobile action sheets need a hit-testable scrim even when the caller did not
|
|
184
|
+
* ask for a backdrop. An explicit `backdrop.enabled: false` opts out.
|
|
185
|
+
*/
|
|
186
|
+
private needsActionSheetBackdrop;
|
|
187
|
+
/**
|
|
188
|
+
* Fills in the action-sheet scrim when the caller did not configure a backdrop.
|
|
189
|
+
* Outside-click closing stays with the popover (`clickOut`); this layer only
|
|
190
|
+
* intercepts hits so the page behind the sheet cannot be clicked.
|
|
191
|
+
*/
|
|
192
|
+
private withActionSheetBackdrop;
|
|
137
193
|
/**
|
|
138
194
|
* Creates a backdrop element.
|
|
139
195
|
*/
|
|
@@ -160,8 +216,8 @@ declare class AXOverlayService {
|
|
|
160
216
|
private positionOverlay;
|
|
161
217
|
private applyOverlayVisualContext;
|
|
162
218
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXOverlayService, never>;
|
|
163
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
219
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
164
220
|
}
|
|
165
221
|
|
|
166
|
-
export { APPEARANCE_CLASSES, AXOverlayService, CONTRAST_CLASSES, MANAGED_OVERLAY_VISUAL_CLASSES, SIZE_CLASSES, THEME_CLASSES, applyVisualContext, calculateAnchorPosition, clampToViewport, findBestPosition, fitsInViewport, resolveContextElement, resolveVisualContext };
|
|
167
|
-
export type { AXOverlayAnchorOptions, AXOverlayOptions, AXOverlayRef, AXOverlayVisualContext, AXOverlayVisualContextScope };
|
|
222
|
+
export { APPEARANCE_CLASSES, AXOverlayService, AX_OVERLAY_DEFAULT_ENTER_ANIMATION, AX_OVERLAY_DEFAULT_LEAVE_ANIMATION, CONTRAST_CLASSES, MANAGED_OVERLAY_VISUAL_CLASSES, SIZE_CLASSES, THEME_CLASSES, applyOverlayAnimationClasses, applyVisualContext, calculateAnchorPosition, clampToViewport, findBestPosition, fitsInViewport, getAnimationDurationFromClasses, getOverlayAnimationTarget, getOverlayAnimationTimeout, parseCssTimeList, playOverlayLeaveAnimation, prefersReducedMotion, removeOverlayAnimationClasses, resolveContextElement, resolveOverlayAnimation, resolveVisualContext, waitForOverlayAnimationEnd };
|
|
223
|
+
export type { AXOverlayAnchorOptions, AXOverlayAnimation, AXOverlayOptions, AXOverlayRef, AXOverlayResolvedAnimation, AXOverlayVisualContext, AXOverlayVisualContextScope };
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
3
3
|
|
|
4
|
+
type AXResizeHandle = 'start' | 'end' | 'top' | 'bottom' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
|
|
5
|
+
interface AXResizeSize {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resize event payload. `value` / `oldValue` remain the host width so existing
|
|
11
|
+
* width-only listeners (`AXValueChangedEvent<number>`) keep compiling. Use `size`
|
|
12
|
+
* / `oldSize` when both axes matter.
|
|
13
|
+
*/
|
|
14
|
+
interface AXResizeChangedEvent {
|
|
15
|
+
component: unknown;
|
|
16
|
+
htmlElement?: HTMLElement;
|
|
17
|
+
isUserInteraction?: boolean;
|
|
18
|
+
name?: string;
|
|
19
|
+
value?: number;
|
|
20
|
+
oldValue?: number;
|
|
21
|
+
size: AXResizeSize;
|
|
22
|
+
oldSize: AXResizeSize;
|
|
23
|
+
}
|
|
4
24
|
declare class AXResizableDirective implements AfterViewInit, OnDestroy {
|
|
5
25
|
private readonly el;
|
|
6
26
|
private readonly platformService;
|
|
@@ -9,67 +29,89 @@ declare class AXResizableDirective implements AfterViewInit, OnDestroy {
|
|
|
9
29
|
private readonly platformID;
|
|
10
30
|
private readonly isBrowser;
|
|
11
31
|
private hostElement;
|
|
12
|
-
private
|
|
13
|
-
private isResizing;
|
|
32
|
+
private readonly resizeHandles;
|
|
33
|
+
private readonly isResizing;
|
|
34
|
+
private activeHandle;
|
|
14
35
|
private initialElementWidth;
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
private readonly
|
|
36
|
+
private initialElementHeight;
|
|
37
|
+
private startX;
|
|
38
|
+
private startY;
|
|
39
|
+
private startWidth;
|
|
40
|
+
private startHeight;
|
|
41
|
+
private startRatio;
|
|
42
|
+
private readonly subscriptions;
|
|
43
|
+
private resizeObserver?;
|
|
44
|
+
private readonly boundPointerDown;
|
|
45
|
+
private readonly boundPointerMove;
|
|
46
|
+
private readonly boundPointerUp;
|
|
47
|
+
private readonly boundPointerEnter;
|
|
48
|
+
private readonly boundPointerLeave;
|
|
22
49
|
private readonly boundDoubleClick;
|
|
23
|
-
private readonly
|
|
50
|
+
private readonly isRTL;
|
|
24
51
|
/** Define if directive is active or not */
|
|
25
52
|
axResizable: _angular_core.ModelSignal<boolean>;
|
|
53
|
+
/** Logical handles to render. Defaults to the inline-end edge. */
|
|
54
|
+
handles: _angular_core.ModelSignal<AXResizeHandle[]>;
|
|
26
55
|
/** Minimum width for the resizable element. */
|
|
27
56
|
minWidth: _angular_core.ModelSignal<number>;
|
|
28
57
|
/** Maximum width for the resizable element. Defaults to parent width if not provided. */
|
|
29
58
|
maxWidth: _angular_core.ModelSignal<number>;
|
|
30
|
-
/**
|
|
59
|
+
/** Minimum height for the resizable element. */
|
|
60
|
+
minHeight: _angular_core.ModelSignal<number>;
|
|
61
|
+
/** Maximum height for the resizable element. Defaults to parent height if not provided. */
|
|
62
|
+
maxHeight: _angular_core.ModelSignal<number>;
|
|
63
|
+
/** Behavior on double-click: 'reset', 'maximize', or 'fit'. */
|
|
31
64
|
dblClickAction: _angular_core.ModelSignal<"reset" | "maximize" | "fit">;
|
|
32
65
|
/** Define initial width for the element. */
|
|
33
66
|
width: _angular_core.ModelSignal<number>;
|
|
34
67
|
/** Define reset width for the element. */
|
|
35
68
|
defaultWidth: _angular_core.ModelSignal<number>;
|
|
69
|
+
/** Define initial height for the element. */
|
|
70
|
+
height: _angular_core.ModelSignal<number>;
|
|
71
|
+
/** Define reset height for the element. */
|
|
72
|
+
defaultHeight: _angular_core.ModelSignal<number>;
|
|
73
|
+
/** Lock the element's aspect ratio from the size captured at pointer-down. */
|
|
74
|
+
lockAspectRatio: _angular_core.ModelSignal<boolean>;
|
|
36
75
|
/** Event emitted when resizing starts. */
|
|
37
|
-
onResizingStarted: _angular_core.OutputEmitterRef<
|
|
76
|
+
onResizingStarted: _angular_core.OutputEmitterRef<AXResizeChangedEvent>;
|
|
38
77
|
/** Event emitted when resizing ends. */
|
|
39
|
-
onResizingEnded: _angular_core.OutputEmitterRef<
|
|
78
|
+
onResizingEnded: _angular_core.OutputEmitterRef<AXResizeChangedEvent>;
|
|
40
79
|
/** Event emitted on double-click. */
|
|
41
|
-
onResizingDblClick: _angular_core.OutputEmitterRef<
|
|
80
|
+
onResizingDblClick: _angular_core.OutputEmitterRef<AXResizeChangedEvent>;
|
|
42
81
|
constructor();
|
|
43
82
|
ngAfterViewInit(): void;
|
|
44
83
|
ngOnDestroy(): void;
|
|
45
|
-
private
|
|
46
|
-
private
|
|
47
|
-
private
|
|
48
|
-
private
|
|
84
|
+
private reconcileHandles;
|
|
85
|
+
private createHandle;
|
|
86
|
+
private attachHandleListeners;
|
|
87
|
+
private destroyHandle;
|
|
88
|
+
private destroyAllHandles;
|
|
49
89
|
private applyHandleStyles;
|
|
50
|
-
private
|
|
51
|
-
private
|
|
52
|
-
private
|
|
53
|
-
private
|
|
54
|
-
private
|
|
55
|
-
private
|
|
56
|
-
private
|
|
57
|
-
private
|
|
58
|
-
private
|
|
90
|
+
private updateAllHandlePositions;
|
|
91
|
+
private positionHandle;
|
|
92
|
+
private applyInlineSide;
|
|
93
|
+
private applySizeFromModel;
|
|
94
|
+
private applySize;
|
|
95
|
+
private onPointerDown;
|
|
96
|
+
private onPointerMove;
|
|
97
|
+
private onPointerUp;
|
|
98
|
+
private onPointerEnter;
|
|
99
|
+
private onPointerLeave;
|
|
59
100
|
private onDoubleClick;
|
|
60
|
-
private
|
|
61
|
-
private
|
|
101
|
+
private computeSize;
|
|
102
|
+
private clampSize;
|
|
103
|
+
private resetToInitialSize;
|
|
104
|
+
private maximizeToMaxSize;
|
|
62
105
|
private fitToContent;
|
|
106
|
+
private getCurrentSize;
|
|
107
|
+
private createResizeEvent;
|
|
108
|
+
private getHandleType;
|
|
109
|
+
private getCursorForHandle;
|
|
110
|
+
private getActiveCursor;
|
|
111
|
+
private stopResizing;
|
|
63
112
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXResizableDirective, never>;
|
|
64
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXResizableDirective, "[axResizable]", never, { "axResizable": { "alias": "axResizable"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "dblClickAction": { "alias": "dblClickAction"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "defaultWidth": { "alias": "defaultWidth"; "required": false; "isSignal": true; }; }, { "axResizable": "axResizableChange"; "minWidth": "minWidthChange"; "maxWidth": "maxWidthChange"; "dblClickAction": "dblClickActionChange"; "width": "widthChange"; "defaultWidth": "defaultWidthChange"; "onResizingStarted": "onResizingStarted"; "onResizingEnded": "onResizingEnded"; "onResizingDblClick": "onResizingDblClick"; }, never, never, true, never>;
|
|
65
|
-
}
|
|
66
|
-
interface AXValueChangedEvent<T> {
|
|
67
|
-
component: unknown;
|
|
68
|
-
htmlElement?: HTMLElement;
|
|
69
|
-
isUserInteraction?: boolean;
|
|
70
|
-
name?: string;
|
|
71
|
-
value?: T;
|
|
72
|
-
oldValue?: T;
|
|
113
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXResizableDirective, "[axResizable]", never, { "axResizable": { "alias": "axResizable"; "required": false; "isSignal": true; }; "handles": { "alias": "handles"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "dblClickAction": { "alias": "dblClickAction"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "defaultWidth": { "alias": "defaultWidth"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "defaultHeight": { "alias": "defaultHeight"; "required": false; "isSignal": true; }; "lockAspectRatio": { "alias": "lockAspectRatio"; "required": false; "isSignal": true; }; }, { "axResizable": "axResizableChange"; "handles": "handlesChange"; "minWidth": "minWidthChange"; "maxWidth": "maxWidthChange"; "minHeight": "minHeightChange"; "maxHeight": "maxHeightChange"; "dblClickAction": "dblClickActionChange"; "width": "widthChange"; "defaultWidth": "defaultWidthChange"; "height": "heightChange"; "defaultHeight": "defaultHeightChange"; "lockAspectRatio": "lockAspectRatioChange"; "onResizingStarted": "onResizingStarted"; "onResizingEnded": "onResizingEnded"; "onResizingDblClick": "onResizingDblClick"; }, never, never, true, never>;
|
|
73
114
|
}
|
|
74
115
|
|
|
75
116
|
export { AXResizableDirective };
|
|
117
|
+
export type { AXResizeChangedEvent, AXResizeHandle, AXResizeSize };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Applies the shimmer text effect to a host element.
|
|
5
|
+
*/
|
|
6
|
+
declare class AXShimmerDirective {
|
|
7
|
+
#private;
|
|
8
|
+
private readonly hostElement;
|
|
9
|
+
private readonly destroyRef;
|
|
10
|
+
private readonly platformId;
|
|
11
|
+
private readonly refresh;
|
|
12
|
+
/**
|
|
13
|
+
* Plays the shimmer animation once instead of looping.
|
|
14
|
+
*
|
|
15
|
+
* @defaultValue false
|
|
16
|
+
*/
|
|
17
|
+
once: _angular_core.InputSignal<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Reverses the shimmer sweep direction.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue false
|
|
22
|
+
*/
|
|
23
|
+
reverse: _angular_core.InputSignal<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Disables the shimmer effect and renders normal text.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue false
|
|
28
|
+
*/
|
|
29
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Duration of one shimmer sweep in milliseconds.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue 2000
|
|
34
|
+
*/
|
|
35
|
+
duration: _angular_core.InputSignal<number>;
|
|
36
|
+
/**
|
|
37
|
+
* Width of the highlight band. Numbers use the spacing scale; strings accept any CSS length.
|
|
38
|
+
*/
|
|
39
|
+
spread: _angular_core.InputSignal<string | number>;
|
|
40
|
+
/**
|
|
41
|
+
* Tilt of the highlight band in degrees.
|
|
42
|
+
*
|
|
43
|
+
* @defaultValue 20
|
|
44
|
+
*/
|
|
45
|
+
angle: _angular_core.InputSignal<number>;
|
|
46
|
+
/**
|
|
47
|
+
* Explicit highlight color. Accepts ACoreX semantic colors (`primary`, `danger`, …) or any CSS color value.
|
|
48
|
+
* Falls back to a tint derived from currentColor when omitted.
|
|
49
|
+
*/
|
|
50
|
+
color: _angular_core.InputSignal<string>;
|
|
51
|
+
constructor();
|
|
52
|
+
private get element();
|
|
53
|
+
private resolveSpread;
|
|
54
|
+
private isSemanticColor;
|
|
55
|
+
private resolveHighlightColor;
|
|
56
|
+
private isDarkMode;
|
|
57
|
+
private isRtl;
|
|
58
|
+
private prefersReducedMotion;
|
|
59
|
+
private buildBackgroundImage;
|
|
60
|
+
private applyShimmerStyles;
|
|
61
|
+
private clearShimmerStyles;
|
|
62
|
+
private restartShimmerAnimation;
|
|
63
|
+
private cancelShimmerAnimation;
|
|
64
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXShimmerDirective, never>;
|
|
65
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXShimmerDirective, "[axShimmer]", never, { "once": { "alias": "once"; "required": false; "isSignal": true; }; "reverse": { "alias": "reverse"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "spread": { "alias": "spread"; "required": false; "isSignal": true; }; "angle": { "alias": "angle"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { AXShimmerDirective };
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _tiptap_core from '@tiptap/core';
|
|
3
|
+
import { Content, Extensions, Editor, JSONContent } from '@tiptap/core';
|
|
4
|
+
|
|
5
|
+
type AXTextEditorTiptapEditor = Editor;
|
|
6
|
+
type AXTextEditorTiptapContent = Content;
|
|
7
|
+
type AXTextEditorTiptapJSON = JSONContent;
|
|
8
|
+
type AXTextEditorTiptapChain = ReturnType<Editor['chain']>;
|
|
9
|
+
type AXTextEditorHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
10
|
+
type AXTextEditorTextAlign = 'left' | 'center' | 'right' | 'justify';
|
|
11
|
+
type AXTextEditorTextDirection = 'rtl' | 'ltr';
|
|
12
|
+
type AXTextEditorFontSizeToken = 'small' | 'large' | 'huge';
|
|
13
|
+
declare const AX_TEXT_EDITOR_FONT_SIZE_TOKEN_VALUES: Record<AXTextEditorFontSizeToken, string>;
|
|
14
|
+
type AXTextEditorCommandAttrs = Record<string, unknown>;
|
|
15
|
+
declare const AX_TEXT_EDITOR_ZOOM_PRESETS: readonly [40, 50, 75, 90, 100, 125, 150, 175, 200];
|
|
16
|
+
declare const AX_TEXT_EDITOR_ZOOM_MIN = 40;
|
|
17
|
+
declare const AX_TEXT_EDITOR_ZOOM_MAX = 200;
|
|
18
|
+
declare const AX_TEXT_EDITOR_FONT_SIZES: readonly [8, 9, 10, 11, 12, 14, 16, 18, 20, 24, 28, 32, 36, 48, 72];
|
|
19
|
+
type AXTextEditorFontSize = (typeof AX_TEXT_EDITOR_FONT_SIZES)[number];
|
|
20
|
+
declare const AX_TEXT_EDITOR_DEFAULT_TEXT_COLORS: string[];
|
|
21
|
+
declare const AX_TEXT_EDITOR_DEFAULT_BACKGROUND_COLORS: string[];
|
|
22
|
+
interface AXTextEditorRecentColor {
|
|
23
|
+
color: string;
|
|
24
|
+
kind: 'text' | 'background';
|
|
25
|
+
}
|
|
26
|
+
type AXTextEditorCommandType = 'undo' | 'redo' | 'bold' | 'italic' | 'underline' | 'strike' | 'heading' | 'paragraph' | 'align' | 'direction' | 'color' | 'highlight' | 'fontSize' | 'bulletList' | 'orderedList' | 'superscript' | 'subscript' | 'link' | 'unlink' | 'blockquote' | 'code' | 'codeBlock' | 'horizontalRule' | 'image' | 'video' | 'insertTable' | 'addColumnBefore' | 'addColumnAfter' | 'deleteColumn' | 'addRowBefore' | 'addRowAfter' | 'deleteRow' | 'toggleHeaderRow' | 'deleteTable';
|
|
27
|
+
interface AXTextEditorFeatures {
|
|
28
|
+
table?: boolean;
|
|
29
|
+
image?: boolean;
|
|
30
|
+
video?: boolean;
|
|
31
|
+
superscript?: boolean;
|
|
32
|
+
subscript?: boolean;
|
|
33
|
+
keepSelection?: boolean;
|
|
34
|
+
placeholder?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare const AX_DEFAULT_TEXT_EDITOR_FEATURES: AXTextEditorFeatures;
|
|
37
|
+
interface AXTextEditorLoadExtensionsOptions {
|
|
38
|
+
placeholder?: string | (() => string);
|
|
39
|
+
features?: AXTextEditorFeatures;
|
|
40
|
+
headingLevels?: AXTextEditorHeadingLevel[];
|
|
41
|
+
extensions?: Extensions;
|
|
42
|
+
}
|
|
43
|
+
interface AXTextEditorState {
|
|
44
|
+
bold: boolean;
|
|
45
|
+
italic: boolean;
|
|
46
|
+
underline: boolean;
|
|
47
|
+
strike: boolean;
|
|
48
|
+
code: boolean;
|
|
49
|
+
codeBlock: boolean;
|
|
50
|
+
headingLevel: AXTextEditorHeadingLevel | null;
|
|
51
|
+
bulletList: boolean;
|
|
52
|
+
orderedList: boolean;
|
|
53
|
+
blockquote: boolean;
|
|
54
|
+
superscript: boolean;
|
|
55
|
+
subscript: boolean;
|
|
56
|
+
textAlign: AXTextEditorTextAlign | null;
|
|
57
|
+
textColor: string | null;
|
|
58
|
+
highlightColor: string | null;
|
|
59
|
+
linkHref: string | null;
|
|
60
|
+
fontSize: string | null;
|
|
61
|
+
textDirection: AXTextEditorTextDirection | null;
|
|
62
|
+
table: boolean;
|
|
63
|
+
canUndo: boolean;
|
|
64
|
+
canRedo: boolean;
|
|
65
|
+
isEmpty: boolean;
|
|
66
|
+
isFocused: boolean;
|
|
67
|
+
}
|
|
68
|
+
declare const AX_EMPTY_TEXT_EDITOR_STATE: AXTextEditorState;
|
|
69
|
+
interface AXTextEditorInitOptions {
|
|
70
|
+
content?: AXTextEditorTiptapContent;
|
|
71
|
+
editable?: boolean;
|
|
72
|
+
placeholder?: string | (() => string);
|
|
73
|
+
features?: AXTextEditorFeatures;
|
|
74
|
+
headingLevels?: AXTextEditorHeadingLevel[];
|
|
75
|
+
extensions?: Extensions;
|
|
76
|
+
editorProps?: _tiptap_core.EditorOptions['editorProps'];
|
|
77
|
+
/** @deprecated Use `editable: false` instead. */
|
|
78
|
+
readOnly?: boolean;
|
|
79
|
+
onUpdate?: (editor: AXTextEditorTiptapEditor) => void;
|
|
80
|
+
onFocus?: (editor: AXTextEditorTiptapEditor, event?: FocusEvent) => void;
|
|
81
|
+
onBlur?: (editor: AXTextEditorTiptapEditor, event?: FocusEvent) => void;
|
|
82
|
+
onSelectionUpdate?: (editor: AXTextEditorTiptapEditor) => void;
|
|
83
|
+
onTransaction?: (editor: AXTextEditorTiptapEditor) => void;
|
|
84
|
+
}
|
|
85
|
+
declare module '@tiptap/core' {
|
|
86
|
+
interface Commands<ReturnType> {
|
|
87
|
+
superscript: {
|
|
88
|
+
toggleSuperscript: () => ReturnType;
|
|
89
|
+
};
|
|
90
|
+
subscript: {
|
|
91
|
+
toggleSubscript: () => ReturnType;
|
|
92
|
+
};
|
|
93
|
+
axTextEditorFontSize: {
|
|
94
|
+
setFontSize: (size: string | null) => ReturnType;
|
|
95
|
+
};
|
|
96
|
+
axTextEditorVideo: {
|
|
97
|
+
setVideo: (options: {
|
|
98
|
+
src: string;
|
|
99
|
+
}) => ReturnType;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class AXTextEditor {
|
|
105
|
+
readonly editor: _angular_core.WritableSignal<_tiptap_core.Editor>;
|
|
106
|
+
readonly state: _angular_core.WritableSignal<AXTextEditorState>;
|
|
107
|
+
readonly ready: _angular_core.WritableSignal<boolean>;
|
|
108
|
+
readonly version: _angular_core.WritableSignal<number>;
|
|
109
|
+
private readonly platformId;
|
|
110
|
+
private destroyed;
|
|
111
|
+
private applyingContent;
|
|
112
|
+
init(container: HTMLElement | string, options?: AXTextEditorInitOptions): Promise<void>;
|
|
113
|
+
destroy(): void;
|
|
114
|
+
refresh(): void;
|
|
115
|
+
setContent(value: AXTextEditorTiptapContent | null | undefined, emit?: boolean): void;
|
|
116
|
+
getHTML(): string;
|
|
117
|
+
getJSON(): AXTextEditorTiptapJSON | null;
|
|
118
|
+
getText(options?: {
|
|
119
|
+
blockSeparator?: string;
|
|
120
|
+
}): string;
|
|
121
|
+
isEmpty(): boolean;
|
|
122
|
+
isFocused(): boolean;
|
|
123
|
+
isEditable(): boolean;
|
|
124
|
+
setEditable(editable: boolean): void;
|
|
125
|
+
focus(): void;
|
|
126
|
+
blur(): void;
|
|
127
|
+
chain(): AXTextEditorTiptapChain | null;
|
|
128
|
+
get commands(): AXTextEditorTiptapEditor['commands'] | undefined;
|
|
129
|
+
isActive(command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
130
|
+
can(command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
131
|
+
run(command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
132
|
+
private commandsApi;
|
|
133
|
+
private getCommandsApi;
|
|
134
|
+
insertContent(value: AXTextEditorTiptapContent): boolean;
|
|
135
|
+
clearContent(): boolean;
|
|
136
|
+
insertImage(src: string, alt?: string): void;
|
|
137
|
+
insertVideo(src: string): void;
|
|
138
|
+
setLink(href: string): void;
|
|
139
|
+
unsetLink(): void;
|
|
140
|
+
clearFormatting(): void;
|
|
141
|
+
toggleHeading(level: AXTextEditorHeadingLevel): void;
|
|
142
|
+
setTextAlign(align: AXTextEditorTextAlign): void;
|
|
143
|
+
setTextDirection(direction: AXTextEditorTextDirection): void;
|
|
144
|
+
private refreshState;
|
|
145
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTextEditor, never>;
|
|
146
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
declare function isTextEditorCommandActive(editor: AXTextEditorTiptapEditor, command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
150
|
+
declare function canRunTextEditorCommand(editor: AXTextEditorTiptapEditor, command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
151
|
+
declare function runTextEditorCommand(editor: AXTextEditorTiptapEditor, command: AXTextEditorCommandType, attrs?: AXTextEditorCommandAttrs): boolean;
|
|
152
|
+
|
|
153
|
+
declare function createTextEditorExtensions(placeholderOrOptions?: string | (() => string) | AXTextEditorLoadExtensionsOptions): Promise<_tiptap_core.AnyExtension[]>;
|
|
154
|
+
|
|
155
|
+
export { AXTextEditor, AX_DEFAULT_TEXT_EDITOR_FEATURES, AX_EMPTY_TEXT_EDITOR_STATE, AX_TEXT_EDITOR_DEFAULT_BACKGROUND_COLORS, AX_TEXT_EDITOR_DEFAULT_TEXT_COLORS, AX_TEXT_EDITOR_FONT_SIZES, AX_TEXT_EDITOR_FONT_SIZE_TOKEN_VALUES, AX_TEXT_EDITOR_ZOOM_MAX, AX_TEXT_EDITOR_ZOOM_MIN, AX_TEXT_EDITOR_ZOOM_PRESETS, canRunTextEditorCommand, createTextEditorExtensions, isTextEditorCommandActive, runTextEditorCommand };
|
|
156
|
+
export type { AXTextEditorCommandAttrs, AXTextEditorCommandType, AXTextEditorFeatures, AXTextEditorFontSize, AXTextEditorFontSizeToken, AXTextEditorHeadingLevel, AXTextEditorInitOptions, AXTextEditorLoadExtensionsOptions, AXTextEditorRecentColor, AXTextEditorState, AXTextEditorTextAlign, AXTextEditorTextDirection, AXTextEditorTiptapChain, AXTextEditorTiptapContent, AXTextEditorTiptapEditor, AXTextEditorTiptapJSON };
|
|
@@ -381,7 +381,7 @@ declare class AXUploaderService {
|
|
|
381
381
|
private bindEvents;
|
|
382
382
|
private applyFileTypeValidation;
|
|
383
383
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderService, never>;
|
|
384
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
384
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
385
385
|
}
|
|
386
386
|
|
|
387
387
|
export { AXUploadRequest, AXUploaderBrowseDirective, AXUploaderService, AXUploaderZoneDirective };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
type AXScreenOrientation = 'portrait' | 'landscape';
|
|
5
|
+
/** Optional copy. Empty fields fall back to the translated defaults. */
|
|
6
|
+
interface AXViewportGuardMessage {
|
|
7
|
+
kicker?: string | null;
|
|
8
|
+
title?: string | null;
|
|
9
|
+
message?: string | null;
|
|
10
|
+
hint?: string | null;
|
|
11
|
+
}
|
|
12
|
+
/** Resolved warning passed into a custom template as `let-message`. */
|
|
13
|
+
interface AXViewportGuardTemplateData {
|
|
14
|
+
kind: 'size' | 'orientation';
|
|
15
|
+
orientation: AXScreenOrientation | null;
|
|
16
|
+
kicker: string;
|
|
17
|
+
title: string;
|
|
18
|
+
message: string;
|
|
19
|
+
hint: string;
|
|
20
|
+
}
|
|
21
|
+
/** Context of `axViewportGuardTemplate`. `$implicit` and `message` are the same data. */
|
|
22
|
+
interface AXViewportGuardTemplateContext {
|
|
23
|
+
$implicit: AXViewportGuardTemplateData;
|
|
24
|
+
message: AXViewportGuardTemplateData;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Hides the host when the viewport is smaller than the given size.
|
|
29
|
+
*
|
|
30
|
+
* ```html
|
|
31
|
+
* <div axMinViewport="1024" [minHeight]="640" [message]="copy" [template]="warning"></div>
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
declare class AXMinViewportDirective {
|
|
35
|
+
/** Minimum viewport width in CSS pixels. */
|
|
36
|
+
readonly minWidth: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
37
|
+
/** Minimum viewport height in CSS pixels. Omitted heights are ignored. */
|
|
38
|
+
readonly minHeight: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
39
|
+
/** Replaces any part of the default translated warning. */
|
|
40
|
+
readonly message: _angular_core.InputSignal<AXViewportGuardMessage>;
|
|
41
|
+
/** Custom warning. `let-message` receives the resolved copy. */
|
|
42
|
+
readonly template: _angular_core.InputSignal<TemplateRef<AXViewportGuardTemplateContext>>;
|
|
43
|
+
private readonly presenter;
|
|
44
|
+
private readonly projectedTemplate;
|
|
45
|
+
constructor();
|
|
46
|
+
private request;
|
|
47
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMinViewportDirective, never>;
|
|
48
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXMinViewportDirective, "[axMinViewport]", ["axMinViewport"], { "minWidth": { "alias": "axMinViewport"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; }, {}, ["projectedTemplate"], never, true, never>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* On a phone, hides the host when the device is not in the required orientation.
|
|
53
|
+
*
|
|
54
|
+
* ```html
|
|
55
|
+
* <div axOrientationLock="landscape" [message]="copy" [template]="warning"></div>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare class AXOrientationLockDirective {
|
|
59
|
+
/** Orientation that keeps the page visible. */
|
|
60
|
+
readonly orientation: _angular_core.InputSignal<AXScreenOrientation>;
|
|
61
|
+
/**
|
|
62
|
+
* Limits the guard to phones. Set to false to apply it on every device.
|
|
63
|
+
*
|
|
64
|
+
* @defaultValue true
|
|
65
|
+
*/
|
|
66
|
+
readonly phonesOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
67
|
+
/** Replaces any part of the default translated warning. */
|
|
68
|
+
readonly message: _angular_core.InputSignal<AXViewportGuardMessage>;
|
|
69
|
+
/** Custom warning. `let-message` receives the resolved copy. */
|
|
70
|
+
readonly template: _angular_core.InputSignal<TemplateRef<AXViewportGuardTemplateContext>>;
|
|
71
|
+
private readonly presenter;
|
|
72
|
+
private readonly projectedTemplate;
|
|
73
|
+
constructor();
|
|
74
|
+
private request;
|
|
75
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXOrientationLockDirective, never>;
|
|
76
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXOrientationLockDirective, "[axOrientationLock]", ["axOrientationLock"], { "orientation": { "alias": "axOrientationLock"; "required": true; "isSignal": true; }; "phonesOnly": { "alias": "phonesOnly"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; }, {}, ["projectedTemplate"], never, true, never>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Types an `ng-template` whose `let-message` is the resolved guard copy.
|
|
81
|
+
*
|
|
82
|
+
* ```html
|
|
83
|
+
* <ng-template #warning axViewportGuardTemplate let-message>
|
|
84
|
+
* <h2>{{ message.title }}</h2>
|
|
85
|
+
* <p>{{ message.message }}</p>
|
|
86
|
+
* </ng-template>
|
|
87
|
+
*
|
|
88
|
+
* <div axMinViewport="1024" [template]="warning"></div>
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
declare class AXViewportGuardTemplateDirective {
|
|
92
|
+
readonly template: TemplateRef<any>;
|
|
93
|
+
static ngTemplateContextGuard(_directive: AXViewportGuardTemplateDirective, _context: unknown): _context is AXViewportGuardTemplateContext;
|
|
94
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXViewportGuardTemplateDirective, never>;
|
|
95
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXViewportGuardTemplateDirective, "ng-template[axViewportGuardTemplate]", never, {}, {}, never, never, true, never>;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export { AXMinViewportDirective, AXOrientationLockDirective, AXViewportGuardTemplateDirective };
|
|
99
|
+
export type { AXScreenOrientation, AXViewportGuardMessage, AXViewportGuardTemplateContext, AXViewportGuardTemplateData };
|