ngwr 7.1.0 → 7.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.
- package/LICENSE +1 -1
- package/README.md +5 -3
- package/alert/styles/_index.scss +2 -0
- package/back-top/styles/_index.scss +4 -2
- package/carousel/styles/_index.scss +2 -0
- package/cascader/styles/_index.scss +16 -0
- package/color-picker/styles/_index.scss +7 -0
- package/command-palette/styles/_index.scss +28 -0
- package/density/styles/_index.scss +10 -0
- package/descriptions/styles/_index.scss +59 -0
- package/dialog/styles/_index.scss +2 -0
- package/drawer/styles/_index.scss +2 -0
- package/dropdown/styles/_index.scss +1 -0
- package/fesm2022/ngwr-carousel.mjs +45 -4
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +2 -2
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +17 -3
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu.mjs +77 -5
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-density.mjs +3 -3
- package/fesm2022/ngwr-density.mjs.map +1 -1
- package/fesm2022/ngwr-descriptions.mjs +11 -2
- package/fesm2022/ngwr-descriptions.mjs.map +1 -1
- package/fesm2022/ngwr-dialog.mjs +11 -4
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +13 -3
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer.mjs +66 -5
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +35 -11
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-lightbox.mjs +45 -2
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-overlay.mjs +70 -1
- package/fesm2022/ngwr-overlay.mjs.map +1 -1
- package/fesm2022/ngwr-page-header.mjs +11 -3
- package/fesm2022/ngwr-page-header.mjs.map +1 -1
- package/fesm2022/ngwr-pagination.mjs +11 -3
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-popover.mjs +36 -10
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-rotating-text.mjs +15 -4
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +35 -14
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-stepper.mjs +11 -2
- package/fesm2022/ngwr-stepper.mjs.map +1 -1
- package/fesm2022/ngwr-table.mjs +10 -4
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +38 -6
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-toast.mjs +54 -2
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +11 -4
- package/fesm2022/ngwr-toolbar.mjs.map +1 -1
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/lightbox/styles/_index.scss +4 -0
- package/llms-full.txt +673 -0
- package/llms.txt +106 -0
- package/overlay/styles/_index.scss +31 -0
- package/package.json +6 -5
- package/page-header/styles/_index.scss +16 -0
- package/pagination/styles/_index.scss +34 -0
- package/popover/styles/_index.scss +1 -0
- package/select/styles/_index.scss +27 -0
- package/slider/styles/_index.scss +3 -0
- package/splitter/styles/_index.scss +3 -0
- package/stepper/styles/_index.scss +30 -0
- package/styles.scss +1 -0
- package/table/styles/_index.scss +61 -0
- package/tabs/styles/_index.scss +24 -0
- package/theme/styles/_mixins.scss +47 -0
- package/toast/styles/_index.scss +32 -1
- package/toolbar/styles/_index.scss +29 -0
- package/tree/styles/_index.scss +15 -0
- package/types/ngwr-carousel.d.ts +8 -1
- package/types/ngwr-command-palette.d.ts +13 -1
- package/types/ngwr-context-menu.d.ts +25 -3
- package/types/ngwr-density.d.ts +2 -2
- package/types/ngwr-descriptions.d.ts +8 -1
- package/types/ngwr-dialog.d.ts +7 -0
- package/types/ngwr-drag-drop.d.ts +13 -1
- package/types/ngwr-drawer.d.ts +11 -3
- package/types/ngwr-dropdown.d.ts +10 -1
- package/types/ngwr-lightbox.d.ts +5 -0
- package/types/ngwr-overlay.d.ts +69 -1
- package/types/ngwr-page-header.d.ts +8 -1
- package/types/ngwr-pagination.d.ts +7 -1
- package/types/ngwr-popover.d.ts +10 -1
- package/types/ngwr-rotating-text.d.ts +1 -0
- package/types/ngwr-select.d.ts +10 -1
- package/types/ngwr-stepper.d.ts +8 -1
- package/types/ngwr-table.d.ts +7 -1
- package/types/ngwr-tabs.d.ts +6 -0
- package/types/ngwr-toolbar.d.ts +7 -1
- package/types/ngwr-version.d.ts +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
4
|
import { WrIconName } from 'ngwr/icon';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -69,10 +70,20 @@ declare class WrCommandPalette {
|
|
|
69
70
|
protected readonly resolvedEmpty: _angular_core.Signal<string>;
|
|
70
71
|
/** Auto-close on `(picked)`. Set false to keep open. @default true */
|
|
71
72
|
readonly closeOnPick: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
73
|
+
/**
|
|
74
|
+
* Present the palette full-screen on small viewports instead of a centred
|
|
75
|
+
* modal. `undefined` follows the app-wide `provideWrResponsiveOverlays()`
|
|
76
|
+
* setting; `true`/`false` overrides it. The palette docks to the top (it
|
|
77
|
+
* auto-focuses its input, so the on-screen keyboard stays clear).
|
|
78
|
+
* @default undefined
|
|
79
|
+
*/
|
|
80
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
|
72
81
|
/** Fires when the user commits an item (Enter / click). */
|
|
73
82
|
readonly picked: _angular_core.OutputEmitterRef<WrCommandItem>;
|
|
74
83
|
protected readonly query: _angular_core.WritableSignal<string>;
|
|
75
84
|
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
85
|
+
/** Whether the current opening is presented full-screen. Decided on open. */
|
|
86
|
+
protected readonly presentAsSheet: _angular_core.WritableSignal<boolean>;
|
|
76
87
|
protected readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
77
88
|
protected readonly panelEl: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
78
89
|
/** Listbox id (referenced by the input's `aria-controls`). */
|
|
@@ -82,6 +93,7 @@ declare class WrCommandPalette {
|
|
|
82
93
|
/** Id of the active option for `aria-activedescendant`. */
|
|
83
94
|
protected readonly activeOptionId: _angular_core.Signal<string | null>;
|
|
84
95
|
private readonly hotkeys;
|
|
96
|
+
private readonly responsiveConfig;
|
|
85
97
|
private readonly destroyRef;
|
|
86
98
|
private readonly focusTrapFactory;
|
|
87
99
|
private readonly isBrowser;
|
|
@@ -106,7 +118,7 @@ declare class WrCommandPalette {
|
|
|
106
118
|
close(): void;
|
|
107
119
|
private commit;
|
|
108
120
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCommandPalette, never>;
|
|
109
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCommandPalette, "wr-command-palette", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "closeOnPick": { "alias": "closeOnPick"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "picked": "picked"; }, never, never, true, never>;
|
|
121
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCommandPalette, "wr-command-palette", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "closeOnPick": { "alias": "closeOnPick"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "picked": "picked"; }, never, never, true, never>;
|
|
110
122
|
}
|
|
111
123
|
|
|
112
124
|
export { WrCommandPalette };
|
|
@@ -24,9 +24,9 @@ declare class WrContextMenuPanel {
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Attach to any element to show a `<wr-context-menu>` at the pointer
|
|
27
|
-
* position when the user right-clicks
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* position when the user right-clicks, long-presses on touch, or otherwise
|
|
28
|
+
* sends a `contextmenu` event (Shift+F10, etc.). The native browser menu is
|
|
29
|
+
* suppressed for the host element.
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* ```html
|
|
@@ -79,9 +79,31 @@ declare class WrContextMenu {
|
|
|
79
79
|
* on a deliberate hover-out.
|
|
80
80
|
*/
|
|
81
81
|
private static readonly LEAVE_DELAY;
|
|
82
|
+
/** Hold duration (ms) before a stationary touch press opens the menu. */
|
|
83
|
+
private static readonly LONG_PRESS_MS;
|
|
84
|
+
/** Movement (px) that reclassifies a press as a scroll and cancels it. */
|
|
85
|
+
private static readonly LONG_PRESS_MOVE_TOLERANCE;
|
|
86
|
+
private longPressTimer;
|
|
87
|
+
private touchStartX;
|
|
88
|
+
private touchStartY;
|
|
89
|
+
private longPressFired;
|
|
90
|
+
private suppressContextMenuUntil;
|
|
82
91
|
constructor();
|
|
83
92
|
/** @internal Right-click handler — opens at the pointer (or re-positions if already open). */
|
|
84
93
|
protected onContextMenu(event: MouseEvent): void;
|
|
94
|
+
/**
|
|
95
|
+
* @internal Touch long-press → open the menu. Native `contextmenu` is
|
|
96
|
+
* unreliable on touch (iOS doesn't fire it, Android's timing varies), so we
|
|
97
|
+
* detect the press ourselves: a stationary hold for `LONG_PRESS_MS` opens
|
|
98
|
+
* the menu at the touch point; moving the finger reclassifies it as a
|
|
99
|
+
* scroll and cancels.
|
|
100
|
+
*/
|
|
101
|
+
protected onTouchStart(event: TouchEvent): void;
|
|
102
|
+
/** @internal Cancel a pending long-press once the finger travels (a scroll). */
|
|
103
|
+
protected onTouchMove(event: TouchEvent): void;
|
|
104
|
+
/** @internal Release — drop a pending press; swallow the synthetic click a fired press would emit. */
|
|
105
|
+
protected onTouchEnd(event: TouchEvent): void;
|
|
106
|
+
private clearLongPress;
|
|
85
107
|
/** Close the menu. */
|
|
86
108
|
close(): void;
|
|
87
109
|
private openOverlay;
|
package/types/ngwr-density.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, Signal, EnvironmentProviders } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
/** Density scale. Components multiply their paddings by the matching multiplier. */
|
|
5
|
-
type WrDensityValue = 'compact' | 'default' | 'comfortable';
|
|
5
|
+
type WrDensityValue = 'compact' | 'default' | 'comfortable' | 'touch';
|
|
6
6
|
/** Configuration for {@link WrDensityValueService}. */
|
|
7
7
|
interface WrDensityConfig {
|
|
8
8
|
/** Initial density used when no persisted value is present. @default 'default' */
|
|
@@ -52,7 +52,7 @@ declare class WrDensity {
|
|
|
52
52
|
constructor();
|
|
53
53
|
/** Switch the active density. Ignores unknown values. */
|
|
54
54
|
set(density: WrDensityValue): void;
|
|
55
|
-
/** Cycle compact → default → comfortable → compact … */
|
|
55
|
+
/** Cycle compact → default → comfortable → touch → compact … */
|
|
56
56
|
cycle(): void;
|
|
57
57
|
private readPersisted;
|
|
58
58
|
private persist;
|
|
@@ -23,9 +23,16 @@ declare class WrDescriptions {
|
|
|
23
23
|
readonly inline: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
24
24
|
/** Add visible borders around each row. @default false */
|
|
25
25
|
readonly bordered: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
26
|
+
/**
|
|
27
|
+
* Reflow `inline` rows back to a stacked layout when the box itself is
|
|
28
|
+
* narrow (a container query on its own width, not the viewport — so it
|
|
29
|
+
* adapts inside a narrow card or side panel). Makes the box fill its
|
|
30
|
+
* container's width. @default false
|
|
31
|
+
*/
|
|
32
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
26
33
|
protected readonly classes: _angular_core.Signal<string>;
|
|
27
34
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrDescriptions, never>;
|
|
28
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrDescriptions, "wr-descriptions", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
35
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrDescriptions, "wr-descriptions", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
/**
|
package/types/ngwr-dialog.d.ts
CHANGED
|
@@ -66,6 +66,12 @@ interface WrDialogOptions<D = unknown> {
|
|
|
66
66
|
readonly maxWidth?: string;
|
|
67
67
|
/** Extra CSS class(es) added to the panel. */
|
|
68
68
|
readonly panelClass?: string | readonly string[];
|
|
69
|
+
/**
|
|
70
|
+
* Present as a full-width bottom-sheet on small viewports instead of a
|
|
71
|
+
* centred modal. `undefined` follows the app-wide
|
|
72
|
+
* `provideWrResponsiveOverlays()` setting; `true`/`false` overrides it.
|
|
73
|
+
*/
|
|
74
|
+
readonly responsive?: boolean;
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
/**
|
|
@@ -96,6 +102,7 @@ declare class WrDialog {
|
|
|
96
102
|
private readonly parentInjector;
|
|
97
103
|
private readonly focusTrapFactory;
|
|
98
104
|
private readonly isBrowser;
|
|
105
|
+
private readonly responsiveConfig;
|
|
99
106
|
open<C, R = unknown, D = unknown>(component: ComponentType<C>, options?: WrDialogOptions<D>): WrDialogRef<C, R>;
|
|
100
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<WrDialog, never>;
|
|
101
108
|
static ɵprov: i0.ɵɵInjectableDeclaration<WrDialog>;
|
|
@@ -47,6 +47,18 @@ declare class WrSortableList<T = unknown> {
|
|
|
47
47
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
48
48
|
/** Locked axis — restrict drag movement to one axis even diagonally. */
|
|
49
49
|
readonly lockAxis: _angular_core.InputSignal<"x" | "y" | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Delay (ms) before a drag begins after the pointer goes down. The touch
|
|
52
|
+
* delay is the fix for the classic CDK touch snag: without it, the
|
|
53
|
+
* `touch-action: none` CDK puts on each item blocks scrolling the list on a
|
|
54
|
+
* phone. With a small touch delay, a quick swipe scrolls and a brief hold
|
|
55
|
+
* starts the drag; mouse stays instant. Pass a single number to apply one
|
|
56
|
+
* delay to both pointers. @default { touch: 150, mouse: 0 }
|
|
57
|
+
*/
|
|
58
|
+
readonly dragStartDelay: _angular_core.InputSignal<number | {
|
|
59
|
+
touch: number;
|
|
60
|
+
mouse: number;
|
|
61
|
+
}>;
|
|
50
62
|
/** `trackBy` for the inner `@for`. Defaults to identity. */
|
|
51
63
|
readonly trackBy: _angular_core.InputSignal<(index: number, item: T) => unknown>;
|
|
52
64
|
/** Fired after a successful reorder with the new array + indices. */
|
|
@@ -54,7 +66,7 @@ declare class WrSortableList<T = unknown> {
|
|
|
54
66
|
protected readonly rowTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
55
67
|
protected onDrop(event: CdkDragDrop<T[]>): void;
|
|
56
68
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSortableList<any>, never>;
|
|
57
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSortableList<any>, "wr-sortable-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "lockAxis"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "reorder": "reorder"; }, ["rowTemplate"], never, true, never>;
|
|
69
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSortableList<any>, "wr-sortable-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "lockAxis"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "reorder": "reorder"; }, ["rowTemplate"], never, true, never>;
|
|
58
70
|
}
|
|
59
71
|
|
|
60
72
|
/**
|
package/types/ngwr-drawer.d.ts
CHANGED
|
@@ -51,9 +51,9 @@ declare class WrDrawer {
|
|
|
51
51
|
*/
|
|
52
52
|
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
53
53
|
/**
|
|
54
|
-
* Render a grab handle at the leading edge
|
|
55
|
-
*
|
|
56
|
-
* @default false
|
|
54
|
+
* Render a grab handle at the leading edge and enable swipe-to-dismiss:
|
|
55
|
+
* drag the handle toward the drawer's edge (down for `bottom`, left for
|
|
56
|
+
* `left`, …) and release past ~30% of the panel to close. @default false
|
|
57
57
|
*/
|
|
58
58
|
readonly showHandle: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
59
59
|
/**
|
|
@@ -69,6 +69,14 @@ declare class WrDrawer {
|
|
|
69
69
|
readonly closeOnEscape: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
70
70
|
protected readonly panelTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
71
71
|
protected panelClass(): string;
|
|
72
|
+
private swipeStartX;
|
|
73
|
+
private swipeStartY;
|
|
74
|
+
private swiping;
|
|
75
|
+
protected onSwipeStart(event: TouchEvent): void;
|
|
76
|
+
protected onSwipeMove(event: TouchEvent, panel: HTMLElement): void;
|
|
77
|
+
protected onSwipeEnd(event: TouchEvent, panel: HTMLElement): void;
|
|
78
|
+
/** Axis + sign of the closing direction for the current position. */
|
|
79
|
+
private closeAxis;
|
|
72
80
|
private readonly overlay;
|
|
73
81
|
private readonly vcr;
|
|
74
82
|
private readonly destroyRef;
|
package/types/ngwr-dropdown.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Holds the menu content rendered when a {@link WrDropdown} opens.
|
|
@@ -59,12 +60,20 @@ declare class WrDropdown {
|
|
|
59
60
|
readonly trigger: _angular_core.InputSignal<WrDropdownTrigger>;
|
|
60
61
|
/** Where the menu anchors relative to the trigger. @default 'bottom-start' */
|
|
61
62
|
readonly position: _angular_core.InputSignal<WrDropdownPosition>;
|
|
63
|
+
/**
|
|
64
|
+
* Present the menu as a full-width bottom-sheet on small viewports instead
|
|
65
|
+
* of an anchored panel. `undefined` follows the app-wide
|
|
66
|
+
* `provideWrResponsiveOverlays()` setting; `true`/`false` overrides it.
|
|
67
|
+
* @default undefined
|
|
68
|
+
*/
|
|
69
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
|
62
70
|
/** Fires after the menu opens. */
|
|
63
71
|
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
64
72
|
/** Fires after the menu closes. */
|
|
65
73
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
66
74
|
private readonly host;
|
|
67
75
|
private readonly overlay;
|
|
76
|
+
private readonly responsiveConfig;
|
|
68
77
|
private readonly vcr;
|
|
69
78
|
private readonly scrollStrategies;
|
|
70
79
|
private readonly destroyRef;
|
|
@@ -95,7 +104,7 @@ declare class WrDropdown {
|
|
|
95
104
|
private focusItemAt;
|
|
96
105
|
private readonly onOverlayMouseLeave;
|
|
97
106
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrDropdown, never>;
|
|
98
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrDropdown, "[wrDropdown]", never, { "menu": { "alias": "wrDropdown"; "required": true; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
107
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrDropdown, "[wrDropdown]", never, { "menu": { "alias": "wrDropdown"; "required": true; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
99
108
|
}
|
|
100
109
|
|
|
101
110
|
/**
|
package/types/ngwr-lightbox.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ declare class WrLightbox {
|
|
|
40
40
|
constructor();
|
|
41
41
|
protected onClick(): void;
|
|
42
42
|
protected onClose(): void;
|
|
43
|
+
private viewerStartY;
|
|
44
|
+
private viewerSwiping;
|
|
45
|
+
protected onViewerSwipeStart(event: TouchEvent): void;
|
|
46
|
+
protected onViewerSwipeMove(event: TouchEvent, viewer: HTMLElement): void;
|
|
47
|
+
protected onViewerSwipeEnd(event: TouchEvent, viewer: HTMLElement): void;
|
|
43
48
|
protected onLoad(): void;
|
|
44
49
|
private openOverlay;
|
|
45
50
|
private closeOverlay;
|
package/types/ngwr-overlay.d.ts
CHANGED
|
@@ -68,6 +68,74 @@ declare class WrOverlayContainer extends OverlayContainer {
|
|
|
68
68
|
*/
|
|
69
69
|
declare function provideWrOverlay(): EnvironmentProviders;
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* @license
|
|
73
|
+
*
|
|
74
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
75
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/** Configuration for responsive (bottom-sheet) overlay presentation. */
|
|
79
|
+
interface WrResponsiveOverlaysConfig {
|
|
80
|
+
/**
|
|
81
|
+
* Viewport width (CSS px) at or below which overlays present as a
|
|
82
|
+
* bottom-sheet instead of a floating panel. @default 640
|
|
83
|
+
*/
|
|
84
|
+
readonly breakpoint: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* When set, overlay services (dialog, select, dropdown, …) present as a
|
|
88
|
+
* slide-up bottom-sheet on viewports at or below `breakpoint`. `null`
|
|
89
|
+
* (the default) keeps every overlay floating. Configure via
|
|
90
|
+
* {@link provideWrResponsiveOverlays}; override per call with a
|
|
91
|
+
* component's `responsive` option.
|
|
92
|
+
*
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
declare const WR_RESPONSIVE_OVERLAYS: InjectionToken<WrResponsiveOverlaysConfig | null>;
|
|
96
|
+
/**
|
|
97
|
+
* Decide whether an overlay should present as a bottom-sheet for the
|
|
98
|
+
* current viewport.
|
|
99
|
+
*
|
|
100
|
+
* - `responsive === true` — sheet on small viewports regardless of config.
|
|
101
|
+
* - `responsive === false` — never a sheet.
|
|
102
|
+
* - `responsive === undefined` — follow the global config (sheet when
|
|
103
|
+
* {@link provideWrResponsiveOverlays} is configured).
|
|
104
|
+
*
|
|
105
|
+
* SSR-safe: returns `false` when there's no `window`.
|
|
106
|
+
*
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
declare function wrPresentAsSheet(responsive: boolean | undefined, config: WrResponsiveOverlaysConfig | null): boolean;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @license
|
|
113
|
+
*
|
|
114
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
115
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Opt every NGWR overlay into responsive presentation — on viewports at or
|
|
120
|
+
* below `breakpoint`, dialogs / selects / dropdowns and friends slide up as
|
|
121
|
+
* a full-width bottom-sheet instead of a floating panel. Built on the same
|
|
122
|
+
* overlay plumbing, so focus-trap, backdrop and scroll-blocking carry over.
|
|
123
|
+
*
|
|
124
|
+
* Individual components can still opt out (or in) per instance via their
|
|
125
|
+
* `responsive` option.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* bootstrapApplication(AppComponent, {
|
|
130
|
+
* providers: [provideWrOverlay(), provideWrResponsiveOverlays()],
|
|
131
|
+
* });
|
|
132
|
+
*
|
|
133
|
+
* // Custom breakpoint:
|
|
134
|
+
* provideWrResponsiveOverlays({ breakpoint: 768 });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
declare function provideWrResponsiveOverlays(config?: Partial<WrResponsiveOverlaysConfig>): EnvironmentProviders;
|
|
138
|
+
|
|
71
139
|
/**
|
|
72
140
|
* @license
|
|
73
141
|
*
|
|
@@ -107,4 +175,4 @@ declare const WR_OVERLAY: InjectionToken<Overlay>;
|
|
|
107
175
|
*/
|
|
108
176
|
declare const WR_OVERLAY_CONTAINER: InjectionToken<OverlayContainer>;
|
|
109
177
|
|
|
110
|
-
export { WR_OVERLAY, WR_OVERLAY_CONTAINER, WrOverlayContainer, provideWrOverlay };
|
|
178
|
+
export { WR_OVERLAY, WR_OVERLAY_CONTAINER, WR_RESPONSIVE_OVERLAYS, WrOverlayContainer, provideWrOverlay, provideWrResponsiveOverlays, wrPresentAsSheet };
|
|
@@ -28,8 +28,15 @@ declare class WrPageHeader {
|
|
|
28
28
|
readonly title: _angular_core.InputSignal<string>;
|
|
29
29
|
/** Secondary line below the title. */
|
|
30
30
|
readonly subtitle: _angular_core.InputSignal<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Stack the title and actions vertically when the header's own box is too
|
|
33
|
+
* narrow to sit them side by side (a container query on its own width, not
|
|
34
|
+
* the viewport — so it adapts inside a narrow column or split pane).
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
31
38
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPageHeader, never>;
|
|
32
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPageHeader, "wr-page-header", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; }, {}, never, ["[wrPageHeaderBreadcrumbs]", "[wrPageHeaderActions]", "[wrPageHeaderExtra]"], true, never>;
|
|
39
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPageHeader, "wr-page-header", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, {}, never, ["[wrPageHeaderBreadcrumbs]", "[wrPageHeaderActions]", "[wrPageHeaderExtra]"], true, never>;
|
|
33
40
|
}
|
|
34
41
|
|
|
35
42
|
export { WrPageHeader };
|
|
@@ -83,6 +83,12 @@ declare class WrPagination {
|
|
|
83
83
|
readonly shape: _angular_core.InputSignal<WrPaginationShape>;
|
|
84
84
|
/** Disable interaction. @default false */
|
|
85
85
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
86
|
+
/**
|
|
87
|
+
* Collapse to a compact `‹ page / total ›` pager when the control's own box
|
|
88
|
+
* is too narrow for the full numbered strip (a container query on its own
|
|
89
|
+
* width, not the viewport). @default false
|
|
90
|
+
*/
|
|
91
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
86
92
|
/** Localised text between range and total ("X–Y of Z"). Falls back to `pagination.of` then `'of'`. */
|
|
87
93
|
readonly ofLabel: _angular_core.InputSignal<string | null>;
|
|
88
94
|
/** Previous-page button aria-label. Falls back to `pagination.prev`. */
|
|
@@ -112,7 +118,7 @@ declare class WrPagination {
|
|
|
112
118
|
protected goTo(page: number | typeof ELLIPSIS): void;
|
|
113
119
|
protected onSizeChange(size: number): void;
|
|
114
120
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPagination, never>;
|
|
115
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPagination, "wr-pagination", never, { "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showSizeChanger": { "alias": "showSizeChanger"; "required": false; "isSignal": true; }; "showTotal": { "alias": "showTotal"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ofLabel": { "alias": "ofLabel"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "itemsPerPageLabel": { "alias": "itemsPerPageLabel"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; }, never, never, true, never>;
|
|
121
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPagination, "wr-pagination", never, { "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showSizeChanger": { "alias": "showSizeChanger"; "required": false; "isSignal": true; }; "showTotal": { "alias": "showTotal"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "ofLabel": { "alias": "ofLabel"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "itemsPerPageLabel": { "alias": "itemsPerPageLabel"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; }, never, never, true, never>;
|
|
116
122
|
}
|
|
117
123
|
|
|
118
124
|
export { WrPagination };
|
package/types/ngwr-popover.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @license
|
|
@@ -37,12 +38,20 @@ declare class WrPopover {
|
|
|
37
38
|
readonly showDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
38
39
|
/** Tooltip only — delay before hiding, in ms. @default 60 */
|
|
39
40
|
readonly hideDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Popover mode only — present the panel as a full-width bottom-sheet on
|
|
43
|
+
* small viewports instead of an anchored panel. `undefined` follows the
|
|
44
|
+
* app-wide `provideWrResponsiveOverlays()` setting; `true`/`false`
|
|
45
|
+
* overrides it. Tooltips never become sheets. @default undefined
|
|
46
|
+
*/
|
|
47
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
|
40
48
|
/** Fires after the panel opens. */
|
|
41
49
|
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
42
50
|
/** Fires after the panel closes. */
|
|
43
51
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
44
52
|
private readonly host;
|
|
45
53
|
private readonly overlay;
|
|
54
|
+
private readonly responsiveConfig;
|
|
46
55
|
private readonly vcr;
|
|
47
56
|
private readonly scrollStrategies;
|
|
48
57
|
private readonly destroyRef;
|
|
@@ -83,7 +92,7 @@ declare class WrPopover {
|
|
|
83
92
|
private scheduleHoverClose;
|
|
84
93
|
private clearHoverClose;
|
|
85
94
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopover, never>;
|
|
86
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopover, "[wrPopover]", never, { "content": { "alias": "wrPopover"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
95
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopover, "[wrPopover]", never, { "content": { "alias": "wrPopover"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
87
96
|
}
|
|
88
97
|
|
|
89
98
|
export { WrPopover };
|
|
@@ -49,6 +49,7 @@ declare class WrRotatingText {
|
|
|
49
49
|
protected readonly current: _angular_core.Signal<string>;
|
|
50
50
|
protected readonly words: _angular_core.Signal<readonly Word[]>;
|
|
51
51
|
private readonly host;
|
|
52
|
+
private readonly injector;
|
|
52
53
|
private readonly destroyRef;
|
|
53
54
|
private readonly isBrowser;
|
|
54
55
|
private readonly platform;
|
package/types/ngwr-select.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as ngwr_i18n from 'ngwr/i18n';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { InjectionToken, Signal, TemplateRef, ElementRef } from '@angular/core';
|
|
4
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
4
5
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
6
|
import { Observable } from 'rxjs';
|
|
6
7
|
|
|
@@ -154,6 +155,13 @@ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
|
154
155
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
155
156
|
/** Pill-shaped corners on the trigger. @default false */
|
|
156
157
|
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
158
|
+
/**
|
|
159
|
+
* Present the option panel as a full-width bottom-sheet on small
|
|
160
|
+
* viewports instead of an anchored dropdown. `undefined` follows the
|
|
161
|
+
* app-wide `provideWrResponsiveOverlays()` setting; `true`/`false`
|
|
162
|
+
* overrides it. @default undefined
|
|
163
|
+
*/
|
|
164
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
|
157
165
|
/**
|
|
158
166
|
* Behavior mode. `<wr-select>` is the unified combobox primitive —
|
|
159
167
|
* pick the shape via `[mode]`:
|
|
@@ -309,6 +317,7 @@ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
|
309
317
|
protected readonly searchDisplay: _angular_core.Signal<string>;
|
|
310
318
|
private readonly host;
|
|
311
319
|
private readonly overlay;
|
|
320
|
+
private readonly responsiveConfig;
|
|
312
321
|
private readonly vcr;
|
|
313
322
|
private readonly scrollStrategies;
|
|
314
323
|
private readonly destroyRef;
|
|
@@ -346,7 +355,7 @@ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
|
346
355
|
private openOverlay;
|
|
347
356
|
private closeOverlay;
|
|
348
357
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSelect, never>;
|
|
349
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSelect, "wr-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "loader": { "alias": "loader"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; "freeText": { "alias": "freeText"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "separators": { "alias": "separators"; "required": false; "isSignal": true; }; "allowDuplicates": { "alias": "allowDuplicates"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "maxTagCount": { "alias": "maxTagCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
358
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSelect, "wr-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "loader": { "alias": "loader"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; "freeText": { "alias": "freeText"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "separators": { "alias": "separators"; "required": false; "isSignal": true; }; "allowDuplicates": { "alias": "allowDuplicates"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "maxTagCount": { "alias": "maxTagCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
350
359
|
}
|
|
351
360
|
|
|
352
361
|
/**
|
package/types/ngwr-stepper.d.ts
CHANGED
|
@@ -80,6 +80,13 @@ declare class WrStepper implements WrStepperContext {
|
|
|
80
80
|
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
81
81
|
/** Lock steps after the latest completed one. @default false */
|
|
82
82
|
readonly linear: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
83
|
+
/**
|
|
84
|
+
* Drop a horizontal stepper to a vertical layout when its own box is too
|
|
85
|
+
* narrow for the row (a container query on its own width, not the
|
|
86
|
+
* viewport — so it adapts inside a narrow column or side panel). No effect
|
|
87
|
+
* when `orientation` is already `vertical`. @default false
|
|
88
|
+
*/
|
|
89
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
83
90
|
protected readonly steps: _angular_core.Signal<readonly WrStep[]>;
|
|
84
91
|
protected readonly classes: _angular_core.Signal<string>;
|
|
85
92
|
constructor();
|
|
@@ -92,7 +99,7 @@ declare class WrStepper implements WrStepperContext {
|
|
|
92
99
|
next(): void;
|
|
93
100
|
prev(): void;
|
|
94
101
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStepper, never>;
|
|
95
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStepper, "wr-stepper", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["steps"], ["*"], true, never>;
|
|
102
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStepper, "wr-stepper", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["steps"], ["*"], true, never>;
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
export { WR_STEPPER, WrStep, WrStepper };
|
package/types/ngwr-table.d.ts
CHANGED
|
@@ -139,6 +139,12 @@ declare class WrTable {
|
|
|
139
139
|
readonly items: _angular_core.InputSignal<readonly Record<string, unknown>[] | null | undefined>;
|
|
140
140
|
/** Show the loading spinner overlay. @default false */
|
|
141
141
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
142
|
+
/**
|
|
143
|
+
* Collapse each row to a labelled card when the table's own box is too narrow
|
|
144
|
+
* for columns (a container query on its own width, not the viewport). Every
|
|
145
|
+
* cell shows its column title as a label. @default false
|
|
146
|
+
*/
|
|
147
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
142
148
|
/** Two-way bindable sort array. Order in array = application order. */
|
|
143
149
|
readonly sort: _angular_core.ModelSignal<readonly WrTableSortState[]>;
|
|
144
150
|
/** Fires whenever a column's filter selection changes. */
|
|
@@ -174,7 +180,7 @@ declare class WrTable {
|
|
|
174
180
|
protected getValue(item: Record<string, unknown>, key: unknown): unknown;
|
|
175
181
|
protected templateFor(key: unknown): TemplateRef<WrTableCellContext> | undefined;
|
|
176
182
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrTable, never>;
|
|
177
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrTable, "wr-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; "filterChange": "filterChange"; "page": "pageChange"; }, ["cellTemplates"], never, true, never>;
|
|
183
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrTable, "wr-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; "filterChange": "filterChange"; "page": "pageChange"; }, ["cellTemplates"], never, true, never>;
|
|
178
184
|
}
|
|
179
185
|
|
|
180
186
|
/**
|
package/types/ngwr-tabs.d.ts
CHANGED
|
@@ -110,6 +110,12 @@ declare class WrTabs implements WrTabsContext {
|
|
|
110
110
|
}): void;
|
|
111
111
|
unregister(): void;
|
|
112
112
|
protected readonly stripRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
113
|
+
/** Whether the strip is scrolled away from its start / end — drives the edge fades. */
|
|
114
|
+
protected readonly canScrollStart: _angular_core.WritableSignal<boolean>;
|
|
115
|
+
protected readonly canScrollEnd: _angular_core.WritableSignal<boolean>;
|
|
116
|
+
constructor();
|
|
117
|
+
/** Recompute which edges can scroll, from the strip's scroll metrics. @internal */
|
|
118
|
+
protected updateFades(): void;
|
|
113
119
|
protected onTabClick(tab: WrTab): void;
|
|
114
120
|
/** Header id for `aria-labelledby` on the panel. @internal */
|
|
115
121
|
headerId(key: string): string;
|
package/types/ngwr-toolbar.d.ts
CHANGED
|
@@ -23,8 +23,14 @@ import * as i0 from '@angular/core';
|
|
|
23
23
|
* @see https://ngwr.dev/components/toolbar
|
|
24
24
|
*/
|
|
25
25
|
declare class WrToolbar {
|
|
26
|
+
/**
|
|
27
|
+
* Stack the zones vertically when the toolbar's own box is too narrow to fit
|
|
28
|
+
* them in a row (a container query on its own width, not the viewport — so it
|
|
29
|
+
* adapts inside a narrow column or split pane). @default false
|
|
30
|
+
*/
|
|
31
|
+
readonly responsive: i0.InputSignalWithTransform<boolean, any>;
|
|
26
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<WrToolbar, never>;
|
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WrToolbar, "wr-toolbar", never, {}, {}, never, ["[wrToolbarStart]", "[wrToolbarCenter]", "[wrToolbarEnd]"], true, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrToolbar, "wr-toolbar", never, { "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, {}, never, ["[wrToolbarStart]", "[wrToolbarCenter]", "[wrToolbarEnd]"], true, never>;
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
export { WrToolbar };
|
package/types/ngwr-version.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { InjectionToken } from '@angular/core';
|
|
|
16
16
|
* Distinct from `Version` exported by `@angular/core`, which reports the
|
|
17
17
|
* loaded Angular runtime version (e.g. `'21.2.13'`), not ngwr's.
|
|
18
18
|
*/
|
|
19
|
-
declare const NGWR_VERSION = "7.
|
|
19
|
+
declare const NGWR_VERSION = "7.3.0";
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @license
|