ngwr 7.3.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/alert/styles/_index.scss +44 -17
- package/avatar/styles/_index.scss +2 -2
- package/badge/styles/_index.scss +11 -7
- package/badge/styles/_tag.scss +1 -1
- package/bar-chart/styles/_index.scss +1 -2
- package/breadcrumbs/styles/_index.scss +4 -2
- package/burger/styles/_index.scss +2 -2
- package/button/styles/_index.scss +30 -20
- package/calendar/styles/_index.scss +11 -9
- package/calendar-heatmap/styles/_index.scss +2 -0
- package/card/styles/_index.scss +1 -1
- package/carousel/styles/_index.scss +1 -1
- package/cascader/styles/_index.scss +54 -14
- package/checkbox/styles/_index.scss +21 -4
- package/collapse/styles/_index.scss +1 -1
- package/color-picker/styles/_index.scss +11 -12
- package/command-palette/styles/_index.scss +3 -3
- package/compare/styles/_index.scss +3 -3
- package/context-menu/styles/_index.scss +1 -1
- package/date-picker/styles/_index.scss +5 -6
- package/density/styles/_index.scss +3 -3
- package/dialog/styles/_index.scss +3 -3
- package/divider/styles/_index.scss +1 -1
- package/drawer/styles/_index.scss +11 -11
- package/dropdown/styles/_index.scss +2 -2
- package/fesm2022/ngwr-affix.mjs +3 -3
- package/fesm2022/ngwr-alert.mjs +22 -10
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- package/fesm2022/ngwr-anchor.mjs +3 -3
- package/fesm2022/ngwr-aurora.mjs +3 -3
- package/fesm2022/ngwr-avatar.mjs +3 -3
- package/fesm2022/ngwr-back-top.mjs +3 -3
- package/fesm2022/ngwr-badge.mjs +6 -6
- package/fesm2022/ngwr-bar-chart.mjs +3 -3
- package/fesm2022/ngwr-blur-text.mjs +3 -3
- package/fesm2022/ngwr-border-glow.mjs +3 -3
- package/fesm2022/ngwr-breadcrumbs.mjs +7 -7
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngwr-burger.mjs +3 -3
- package/fesm2022/ngwr-button.mjs +6 -6
- package/fesm2022/ngwr-calendar-heatmap.mjs +3 -3
- package/fesm2022/ngwr-calendar.mjs +4 -4
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +10 -10
- package/fesm2022/ngwr-card.mjs.map +1 -1
- package/fesm2022/ngwr-carousel.mjs +6 -6
- package/fesm2022/ngwr-cascader.mjs +12 -35
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +13 -30
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +3 -3
- package/fesm2022/ngwr-click-spark.mjs +25 -6
- package/fesm2022/ngwr-click-spark.mjs.map +1 -1
- package/fesm2022/ngwr-clipboard.mjs +27 -6
- package/fesm2022/ngwr-clipboard.mjs.map +1 -1
- package/fesm2022/ngwr-collapse.mjs +9 -9
- package/fesm2022/ngwr-color-picker.mjs +7 -7
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +3 -3
- package/fesm2022/ngwr-compare.mjs +3 -3
- package/fesm2022/ngwr-confetti.mjs +3 -3
- package/fesm2022/ngwr-context-menu.mjs +40 -88
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-cookie.mjs +3 -3
- package/fesm2022/ngwr-counter.mjs +12 -8
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
- package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
- package/fesm2022/ngwr-date-adapter.mjs +3 -3
- package/fesm2022/ngwr-date-picker.mjs +25 -11
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/ngwr-decrypt-text.mjs +3 -3
- package/fesm2022/ngwr-density.mjs +14 -14
- package/fesm2022/ngwr-density.mjs.map +1 -1
- package/fesm2022/ngwr-descriptions.mjs +6 -6
- package/fesm2022/ngwr-dialog.mjs +15 -15
- package/fesm2022/ngwr-directives.mjs +15 -87
- package/fesm2022/ngwr-directives.mjs.map +1 -1
- package/fesm2022/ngwr-divider.mjs +3 -3
- package/fesm2022/ngwr-donut-chart.mjs +10 -4
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +6 -6
- package/fesm2022/ngwr-drawer.mjs +15 -15
- package/fesm2022/ngwr-dropdown.mjs +9 -9
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +3 -3
- package/fesm2022/ngwr-falling-text.mjs +3 -3
- package/fesm2022/ngwr-file-upload.mjs +3 -3
- package/fesm2022/ngwr-form.mjs +9 -9
- package/fesm2022/ngwr-fuzzy-text.mjs +8 -7
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +3 -3
- package/fesm2022/ngwr-glitch-text.mjs +15 -7
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text.mjs +3 -3
- package/fesm2022/ngwr-hotkey.mjs +6 -6
- package/fesm2022/ngwr-i18n.mjs +9 -9
- package/fesm2022/ngwr-icon.mjs +3 -3
- package/fesm2022/ngwr-image-cropper.mjs +3 -3
- package/fesm2022/ngwr-input-number.mjs +4 -4
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp.mjs +10 -4
- package/fesm2022/ngwr-input-otp.mjs.map +1 -1
- package/fesm2022/ngwr-input.mjs +25 -16
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-keyboard.mjs +3 -3
- package/fesm2022/ngwr-knob.mjs +3 -3
- package/fesm2022/ngwr-layout.mjs +15 -15
- package/fesm2022/ngwr-lightbox.mjs +17 -5
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +3 -3
- package/fesm2022/ngwr-list.mjs +7 -7
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +6 -6
- package/fesm2022/ngwr-marquee.mjs +3 -3
- package/fesm2022/ngwr-media.mjs +3 -3
- package/fesm2022/ngwr-mention.mjs +6 -6
- package/fesm2022/ngwr-meta.mjs +6 -6
- package/fesm2022/ngwr-meter-group.mjs +3 -3
- package/fesm2022/ngwr-overlay.mjs +3 -3
- package/fesm2022/ngwr-page-header.mjs +3 -3
- package/fesm2022/ngwr-pagination.mjs +5 -15
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +21 -21
- package/fesm2022/ngwr-platform.mjs +3 -3
- package/fesm2022/ngwr-popconfirm.mjs +6 -6
- package/fesm2022/ngwr-popover.mjs +6 -6
- package/fesm2022/ngwr-progress.mjs +3 -3
- package/fesm2022/ngwr-qr.mjs +3 -3
- package/fesm2022/ngwr-radio.mjs +28 -26
- package/fesm2022/ngwr-radio.mjs.map +1 -1
- package/fesm2022/ngwr-rating.mjs +12 -23
- package/fesm2022/ngwr-rating.mjs.map +1 -1
- package/fesm2022/ngwr-result.mjs +12 -12
- package/fesm2022/ngwr-rotating-text.mjs +3 -3
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented.mjs +10 -22
- package/fesm2022/ngwr-segmented.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +26 -13
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +6 -6
- package/fesm2022/ngwr-sidebar.mjs +3 -3
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider.mjs +3 -3
- package/fesm2022/ngwr-sparkline.mjs +3 -3
- package/fesm2022/ngwr-speed-dial.mjs +3 -3
- package/fesm2022/ngwr-spinner.mjs +3 -3
- package/fesm2022/ngwr-splash-cursor.mjs +3 -3
- package/fesm2022/ngwr-split-text.mjs +3 -3
- package/fesm2022/ngwr-splitter.mjs +3 -3
- package/fesm2022/ngwr-spotlight-card.mjs +8 -8
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-squircle.mjs +6 -6
- package/fesm2022/ngwr-star-border.mjs +3 -3
- package/fesm2022/ngwr-statistic.mjs +79 -10
- package/fesm2022/ngwr-statistic.mjs.map +1 -1
- package/fesm2022/ngwr-stepper.mjs +6 -6
- package/fesm2022/ngwr-storage.mjs +3 -3
- package/fesm2022/ngwr-switch.mjs +10 -14
- package/fesm2022/ngwr-switch.mjs.map +1 -1
- package/fesm2022/ngwr-table.mjs +12 -12
- package/fesm2022/ngwr-tabs.mjs +8 -6
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea.mjs +84 -25
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-theme.mjs +3 -3
- package/fesm2022/ngwr-tilt-card.mjs +6 -6
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast.mjs +46 -24
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +3 -3
- package/fesm2022/ngwr-tree.mjs +3 -3
- package/fesm2022/ngwr-typewriter.mjs +3 -3
- package/fesm2022/ngwr-typography.mjs +3 -3
- package/fesm2022/ngwr-validators.mjs +41 -3
- package/fesm2022/ngwr-validators.mjs.map +1 -1
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +3 -3
- package/fesm2022/ngwr-waves.mjs +3 -3
- package/fesm2022/ngwr-window.mjs +12 -12
- package/file-upload/styles/_index.scss +3 -3
- package/form/styles/_index.scss +5 -5
- package/glitch-text/styles/_index.scss +3 -6
- package/image-cropper/styles/_index.scss +3 -3
- package/input/styles/_index.scss +26 -7
- package/input-otp/styles/_index.scss +23 -5
- package/keyboard/styles/_index.scss +6 -4
- package/knob/styles/_index.scss +1 -1
- package/lightbox/styles/_index.scss +29 -10
- package/list/styles/_index.scss +3 -3
- package/llms-full.txt +14 -19
- package/mention/styles/_index.scss +2 -2
- package/overlay/styles/_index.scss +1 -1
- package/package.json +1 -6
- package/pagination/styles/_index.scss +3 -26
- package/popconfirm/styles/_index.scss +1 -1
- package/popover/styles/_index.scss +2 -2
- package/radio/styles/_index.scss +20 -5
- package/rating/styles/_index.scss +12 -1
- package/schematics/migrations/v8/index.js +122 -0
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +3 -3
- package/schematics/ng-add/schema.json +6 -6
- package/schematics/provider/schema.json +1 -1
- package/schematics/use/symbol-map.json +11 -2
- package/segmented/styles/_index.scss +31 -8
- package/select/styles/_index.scss +73 -25
- package/sidebar/styles/_index.scss +3 -3
- package/slider/styles/_index.scss +2 -3
- package/speed-dial/styles/_index.scss +1 -0
- package/splitter/styles/_index.scss +4 -4
- package/spotlight-card/styles/_index.scss +8 -4
- package/stepper/styles/_index.scss +4 -4
- package/styles/_animations.scss +0 -23
- package/styles.scss +0 -1
- package/switch/styles/_index.scss +25 -6
- package/table/styles/_index.scss +9 -9
- package/tabs/styles/_index.scss +22 -3
- package/textarea/styles/_index.scss +59 -4
- package/theme/styles/_colors.scss +57 -0
- package/theme/styles/_dark.scss +22 -8
- package/theme/styles/_focus.scss +5 -0
- package/theme/styles/_variables.scss +24 -0
- package/timeline/styles/_index.scss +11 -2
- package/toast/styles/_index.scss +13 -5
- package/toolbar/styles/_index.scss +1 -1
- package/tree/styles/_index.scss +18 -17
- package/types/ngwr-alert.d.ts +16 -6
- package/types/ngwr-cascader.d.ts +5 -2
- package/types/ngwr-checkbox.d.ts +5 -2
- package/types/ngwr-click-spark.d.ts +13 -1
- package/types/ngwr-clipboard.d.ts +12 -1
- package/types/ngwr-context-menu.d.ts +20 -25
- package/types/ngwr-date-picker.d.ts +3 -0
- package/types/ngwr-density.d.ts +7 -7
- package/types/ngwr-directives.d.ts +17 -49
- package/types/ngwr-fuzzy-text.d.ts +1 -1
- package/types/ngwr-glitch-text.d.ts +9 -3
- package/types/ngwr-input-otp.d.ts +6 -2
- package/types/ngwr-input.d.ts +27 -13
- package/types/ngwr-lightbox.d.ts +9 -1
- package/types/ngwr-pagination.d.ts +3 -9
- package/types/ngwr-radio.d.ts +14 -3
- package/types/ngwr-rating.d.ts +5 -1
- package/types/ngwr-segmented.d.ts +5 -2
- package/types/ngwr-select.d.ts +6 -2
- package/types/ngwr-spotlight-card.d.ts +1 -1
- package/types/ngwr-statistic.d.ts +35 -1
- package/types/ngwr-switch.d.ts +5 -1
- package/types/ngwr-textarea.d.ts +25 -3
- package/types/ngwr-toast.d.ts +7 -1
- package/types/ngwr-validators.d.ts +3 -1
- package/types/ngwr-version.d.ts +1 -1
- package/window/styles/_index.scss +8 -8
- package/fesm2022/ngwr-scramble-text.mjs +0 -165
- package/fesm2022/ngwr-scramble-text.mjs.map +0 -1
- package/scramble-text/scramble-text.scss +0 -1
- package/scramble-text/styles/_index.scss +0 -8
- package/types/ngwr-scramble-text.d.ts +0 -49
|
@@ -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 or otherwise sends a `contextmenu`
|
|
28
|
+
* event (Shift+F10, etc.). The native browser menu is suppressed for the
|
|
29
|
+
* host element.
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* ```html
|
|
@@ -64,6 +64,13 @@ declare class WrContextMenu {
|
|
|
64
64
|
static keepChainAlive(): void;
|
|
65
65
|
/** Called from a submenu pane's mouseleave when the cursor left ALL menus. */
|
|
66
66
|
static scheduleChainClose(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Called from a `<wr-context-menu-item>` click — selecting an item
|
|
69
|
+
* dismisses the whole chain (root + any open submenus). Items live in
|
|
70
|
+
* a detached overlay portal, so they reach their owning root through
|
|
71
|
+
* this static handle rather than DI.
|
|
72
|
+
*/
|
|
73
|
+
static closeActive(): void;
|
|
67
74
|
/**
|
|
68
75
|
* Open/close animation duration in ms. Matches the longest SCSS
|
|
69
76
|
* transition on `.wr-context-menu-overlay` (the spring-scale curve).
|
|
@@ -79,31 +86,9 @@ declare class WrContextMenu {
|
|
|
79
86
|
* on a deliberate hover-out.
|
|
80
87
|
*/
|
|
81
88
|
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;
|
|
91
89
|
constructor();
|
|
92
90
|
/** @internal Right-click handler — opens at the pointer (or re-positions if already open). */
|
|
93
91
|
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;
|
|
107
92
|
/** Close the menu. */
|
|
108
93
|
close(): void;
|
|
109
94
|
private openOverlay;
|
|
@@ -168,6 +153,16 @@ declare class WrContextMenuItem {
|
|
|
168
153
|
*/
|
|
169
154
|
static disposeAll(immediate: boolean): void;
|
|
170
155
|
constructor();
|
|
156
|
+
/**
|
|
157
|
+
* @internal Pointer activation — selecting a leaf item dismisses the
|
|
158
|
+
* whole menu chain. The consumer's own `(click)` binding on the host
|
|
159
|
+
* runs in the same event; we defer the close to a microtask so that
|
|
160
|
+
* handler (the actual "select") always completes before the overlay
|
|
161
|
+
* tears down, regardless of listener registration order. Items that
|
|
162
|
+
* own a submenu (or are disabled) don't dismiss — clicking them just
|
|
163
|
+
* drills into / ignores the row.
|
|
164
|
+
*/
|
|
165
|
+
protected onClick(): void;
|
|
171
166
|
/** @internal Keyboard activation — Enter / Space. */
|
|
172
167
|
protected activate(event: Event): void;
|
|
173
168
|
/** @internal Right-arrow opens the submenu. */
|
|
@@ -90,6 +90,9 @@ declare class WrDatePicker implements ControlValueAccessor {
|
|
|
90
90
|
protected readonly triggerLabel: _angular_core.Signal<string>;
|
|
91
91
|
protected readonly classes: _angular_core.Signal<string>;
|
|
92
92
|
private overlayRef;
|
|
93
|
+
/** Live calendar ref while the date popover is open — lets the panel track
|
|
94
|
+
* the typed value in real time (not just on reopen). */
|
|
95
|
+
private readonly dateRef;
|
|
93
96
|
constructor();
|
|
94
97
|
private onChange;
|
|
95
98
|
private onTouched;
|
package/types/ngwr-density.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ 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 = '
|
|
5
|
+
type WrDensityValue = 'sm' | 'md' | 'lg' | 'touch';
|
|
6
6
|
/** Configuration for {@link WrDensityValueService}. */
|
|
7
7
|
interface WrDensityConfig {
|
|
8
|
-
/** Initial density used when no persisted value is present. @default '
|
|
8
|
+
/** Initial density used when no persisted value is present. @default 'md' */
|
|
9
9
|
readonly defaultDensity: WrDensityValue;
|
|
10
10
|
/** Storage key for persistence (via `WrStorage`). Set to `null` to disable. @default 'wr-density' */
|
|
11
11
|
readonly storageKey: string | null;
|
|
@@ -36,8 +36,8 @@ declare const WR_DENSITY_CONFIG: InjectionToken<WrDensityConfig>;
|
|
|
36
36
|
* @example
|
|
37
37
|
* ```ts
|
|
38
38
|
* const density = inject(WrDensity);
|
|
39
|
-
* density.set('
|
|
40
|
-
* density.current(); // '
|
|
39
|
+
* density.set('sm');
|
|
40
|
+
* density.current(); // 'sm'
|
|
41
41
|
* ```
|
|
42
42
|
*
|
|
43
43
|
* @see https://ngwr.dev/services/density
|
|
@@ -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
|
|
55
|
+
/** Cycle sm → md → lg → touch → sm … */
|
|
56
56
|
cycle(): void;
|
|
57
57
|
private readPersisted;
|
|
58
58
|
private persist;
|
|
@@ -67,8 +67,8 @@ declare class WrDensity {
|
|
|
67
67
|
*
|
|
68
68
|
* @example
|
|
69
69
|
* ```html
|
|
70
|
-
* <!-- The whole sidebar is
|
|
71
|
-
* <aside wrDensity="
|
|
70
|
+
* <!-- The whole sidebar is sm, the rest of the app keeps its global density. -->
|
|
71
|
+
* <aside wrDensity="sm">
|
|
72
72
|
* <wr-list ...></wr-list>
|
|
73
73
|
* </aside>
|
|
74
74
|
* ```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Focus the host element after the first render — or whenever the bound
|
|
@@ -12,11 +12,11 @@ import * as _angular_core from '@angular/core';
|
|
|
12
12
|
*/
|
|
13
13
|
declare class WrAutofocus {
|
|
14
14
|
/** Truthy = focus. Defaults to `true` so bare `wrAutofocus` works. */
|
|
15
|
-
readonly wrAutofocus:
|
|
15
|
+
readonly wrAutofocus: i0.InputSignalWithTransform<boolean, any>;
|
|
16
16
|
private readonly el;
|
|
17
17
|
constructor();
|
|
18
|
-
static ɵfac:
|
|
19
|
-
static ɵdir:
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrAutofocus, never>;
|
|
19
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrAutofocus, "[wrAutofocus]", never, { "wrAutofocus": { "alias": "wrAutofocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -29,8 +29,8 @@ declare class WrAutofocus {
|
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
31
|
declare class WrAutosize {
|
|
32
|
-
readonly minRows:
|
|
33
|
-
readonly maxRows:
|
|
32
|
+
readonly minRows: i0.InputSignalWithTransform<number, unknown>;
|
|
33
|
+
readonly maxRows: i0.InputSignalWithTransform<number, unknown>;
|
|
34
34
|
private readonly el;
|
|
35
35
|
private lastValue;
|
|
36
36
|
constructor();
|
|
@@ -38,8 +38,8 @@ declare class WrAutosize {
|
|
|
38
38
|
protected onInput(): void;
|
|
39
39
|
/** Recompute height from `scrollHeight`, clamped to min/max rows. */
|
|
40
40
|
private resize;
|
|
41
|
-
static ɵfac:
|
|
42
|
-
static ɵdir:
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrAutosize, never>;
|
|
42
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrAutosize, "textarea[wrAutosize]", never, { "minRows": { "alias": "minRows"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -52,14 +52,14 @@ declare class WrAutosize {
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
declare class WrClickOutside {
|
|
55
|
-
readonly wrClickOutside:
|
|
55
|
+
readonly wrClickOutside: i0.OutputEmitterRef<MouseEvent>;
|
|
56
56
|
private readonly host;
|
|
57
57
|
private readonly doc;
|
|
58
58
|
private readonly zone;
|
|
59
59
|
private readonly destroyRef;
|
|
60
60
|
constructor();
|
|
61
|
-
static ɵfac:
|
|
62
|
-
static ɵdir:
|
|
61
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrClickOutside, never>;
|
|
62
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrClickOutside, "[wrClickOutside]", never, {}, { "wrClickOutside": "wrClickOutside"; }, never, never, true, never>;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -76,50 +76,18 @@ declare class WrClickOutside {
|
|
|
76
76
|
*/
|
|
77
77
|
declare class WrCopyToClipboard {
|
|
78
78
|
/** The text to copy. */
|
|
79
|
-
readonly wrCopyToClipboard:
|
|
79
|
+
readonly wrCopyToClipboard: i0.InputSignal<string>;
|
|
80
80
|
/** Emitted with the copied text once the write succeeds. */
|
|
81
|
-
readonly copied:
|
|
81
|
+
readonly copied: i0.OutputEmitterRef<string>;
|
|
82
82
|
/** Emitted if the copy fails (denied permission, no clipboard, …). */
|
|
83
|
-
readonly copyFailed:
|
|
83
|
+
readonly copyFailed: i0.OutputEmitterRef<unknown>;
|
|
84
84
|
private readonly doc;
|
|
85
85
|
/** @internal */
|
|
86
86
|
protected onClick(): Promise<void>;
|
|
87
87
|
/** Legacy clipboard write — hidden textarea + execCommand('copy'). */
|
|
88
88
|
private fallback;
|
|
89
|
-
static ɵfac:
|
|
90
|
-
static ɵdir:
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrCopyToClipboard, never>;
|
|
90
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrCopyToClipboard, "[wrCopyToClipboard]", never, { "wrCopyToClipboard": { "alias": "wrCopyToClipboard"; "required": true; "isSignal": true; }; }, { "copied": "copied"; "copyFailed": "copyFailed"; }, never, never, true, never>;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
* Reveal-on-scroll directive. Adds the `wr-reveal` host class
|
|
95
|
-
* immediately and flips it to `wr-reveal--visible` once the element
|
|
96
|
-
* enters the viewport — pair with the `.wr-reveal` styles in
|
|
97
|
-
* `ngwr/animations` for a fade-and-slide-up enter.
|
|
98
|
-
*
|
|
99
|
-
* SSR-safe: on the server, the host renders in the visible state so
|
|
100
|
-
* the page isn't blank.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```html
|
|
104
|
-
* <h2 wrReveal>Animates in once visible</h2>
|
|
105
|
-
* <div wrReveal threshold="0.5" rootMargin="-100px 0px">…</div>
|
|
106
|
-
* <p wrReveal [once]="false">Re-runs every time it enters the viewport</p>
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
declare class WrReveal {
|
|
110
|
-
/** Visibility threshold passed to IntersectionObserver. @default 0.1 */
|
|
111
|
-
readonly threshold: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
112
|
-
/** `rootMargin` passed to IntersectionObserver. @default '0px' */
|
|
113
|
-
readonly rootMargin: _angular_core.InputSignal<string>;
|
|
114
|
-
/** Stop observing after the first reveal. @default true */
|
|
115
|
-
readonly once: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
116
|
-
protected readonly visible: _angular_core.WritableSignal<boolean>;
|
|
117
|
-
private readonly el;
|
|
118
|
-
private readonly destroyRef;
|
|
119
|
-
private readonly isBrowser;
|
|
120
|
-
constructor();
|
|
121
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrReveal, never>;
|
|
122
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrReveal, "[wrReveal]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "rootMargin": { "alias": "rootMargin"; "required": false; "isSignal": true; }; "once": { "alias": "once"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export { WrAutofocus, WrAutosize, WrClickOutside, WrCopyToClipboard, WrReveal };
|
|
93
|
+
export { WrAutofocus, WrAutosize, WrClickOutside, WrCopyToClipboard };
|
|
@@ -31,7 +31,7 @@ declare class WrFuzzyText {
|
|
|
31
31
|
readonly fontWeight: _angular_core.InputSignal<string | number>;
|
|
32
32
|
/** Font family. `'inherit'` reads the canvas's computed style. @default 'inherit' */
|
|
33
33
|
readonly fontFamily: _angular_core.InputSignal<string>;
|
|
34
|
-
/** Text colour. Ignored if `[gradient]` is set. @default '
|
|
34
|
+
/** Text colour. `'inherit'` reads the canvas's computed style. Ignored if `[gradient]` is set. @default 'inherit' */
|
|
35
35
|
readonly color: _angular_core.InputSignal<string>;
|
|
36
36
|
/** Optional horizontal gradient stops. */
|
|
37
37
|
readonly gradient: _angular_core.InputSignal<readonly string[] | null>;
|
|
@@ -22,10 +22,16 @@ declare class WrGlitchText {
|
|
|
22
22
|
readonly enableShadows: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
23
23
|
/** Only glitch on hover (idle until then). @default true */
|
|
24
24
|
readonly enableOnHover: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Surface colour for the clone slices. Pass the colour of the surface the
|
|
27
|
+
* component sits on so the slicing illusion masks cleanly; leave unset
|
|
28
|
+
* (transparent) on the page canvas. @default '' (transparent)
|
|
29
|
+
*/
|
|
30
|
+
readonly background: _angular_core.InputSignal<string>;
|
|
31
|
+
protected readonly beforeShadow: _angular_core.Signal<"5px 0 var(--wr-color-info)" | "none">;
|
|
32
|
+
protected readonly afterShadow: _angular_core.Signal<"none" | "-5px 0 var(--wr-color-danger)">;
|
|
27
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrGlitchText, never>;
|
|
28
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrGlitchText, "wr-glitch-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "enableShadows": { "alias": "enableShadows"; "required": false; "isSignal": true; }; "enableOnHover": { "alias": "enableOnHover"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
34
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrGlitchText, "wr-glitch-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "enableShadows": { "alias": "enableShadows"; "required": false; "isSignal": true; }; "enableOnHover": { "alias": "enableOnHover"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
29
35
|
}
|
|
30
36
|
|
|
31
37
|
export { WrGlitchText };
|
|
@@ -17,6 +17,8 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
17
17
|
*/
|
|
18
18
|
type WrInputOtpMode = 'numeric' | 'alphanumeric' | 'text';
|
|
19
19
|
|
|
20
|
+
type WrInputOtpSize = 'sm' | 'md' | 'lg';
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* Fixed-length one-time-code input. Renders one `<input>` per character,
|
|
22
24
|
* auto-advances focus on typing, handles paste of a full code, and supports
|
|
@@ -38,6 +40,8 @@ declare class WrInputOtp implements ControlValueAccessor {
|
|
|
38
40
|
readonly length: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
39
41
|
/** Character set per cell. @default 'numeric' */
|
|
40
42
|
readonly mode: _angular_core.InputSignal<WrInputOtpMode>;
|
|
43
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
44
|
+
readonly size: _angular_core.InputSignal<WrInputOtpSize>;
|
|
41
45
|
/** Mask the typed characters like a password. @default false */
|
|
42
46
|
readonly mask: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
43
47
|
/** Disable interaction. @default false */
|
|
@@ -71,8 +75,8 @@ declare class WrInputOtp implements ControlValueAccessor {
|
|
|
71
75
|
/** Drop a character that doesn't match the configured mode. */
|
|
72
76
|
private sanitiseChar;
|
|
73
77
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputOtp, never>;
|
|
74
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputOtp, "wr-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "completed": "completed"; }, never, never, true, never>;
|
|
78
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputOtp, "wr-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "completed": "completed"; }, never, never, true, never>;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
export { WrInputOtp };
|
|
78
|
-
export type { WrInputOtpMode };
|
|
82
|
+
export type { WrInputOtpMode, WrInputOtpSize };
|
package/types/ngwr-input.d.ts
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Native input `type` values supported by `<wr-input>`.
|
|
11
|
+
*/
|
|
12
|
+
type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @license
|
|
16
|
+
*
|
|
17
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
18
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
19
|
+
*/
|
|
20
|
+
/** Control size for `[wrInput]` — shares the `--wr-control-*` contract. */
|
|
21
|
+
type WrInputSize = 'sm' | 'md' | 'lg';
|
|
22
|
+
|
|
3
23
|
/**
|
|
4
24
|
* Applies NGWR input styling to a native `<input>` element.
|
|
5
25
|
*
|
|
@@ -22,11 +42,16 @@ import * as i0 from '@angular/core';
|
|
|
22
42
|
* @see https://ngwr.dev/components/input
|
|
23
43
|
*/
|
|
24
44
|
declare class WrInput {
|
|
45
|
+
/**
|
|
46
|
+
* Control size. Named `wrSize` (not `size`) so it never clashes with the
|
|
47
|
+
* native `<input size>` attribute. @default 'md'
|
|
48
|
+
*/
|
|
49
|
+
readonly wrSize: i0.InputSignal<WrInputSize>;
|
|
25
50
|
/** Pill-shaped corners. @default false */
|
|
26
51
|
readonly rounded: i0.InputSignalWithTransform<boolean, any>;
|
|
27
52
|
protected readonly classes: i0.Signal<string>;
|
|
28
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<WrInput, never>;
|
|
29
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WrInput, "input[wrInput], textarea[wrInput]", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
54
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrInput, "input[wrInput], textarea[wrInput]", never, { "wrSize": { "alias": "wrSize"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
30
55
|
}
|
|
31
56
|
|
|
32
57
|
/**
|
|
@@ -116,16 +141,5 @@ declare class WrPasswordToggle {
|
|
|
116
141
|
static ɵcmp: i0.ɵɵComponentDeclaration<WrPasswordToggle, "wr-password-toggle", never, { "for": { "alias": "for"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
117
142
|
}
|
|
118
143
|
|
|
119
|
-
/**
|
|
120
|
-
* @license
|
|
121
|
-
*
|
|
122
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
123
|
-
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
124
|
-
*/
|
|
125
|
-
/**
|
|
126
|
-
* Native input `type` values supported by `<wr-input>`.
|
|
127
|
-
*/
|
|
128
|
-
type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
|
|
129
|
-
|
|
130
144
|
export { WrInput, WrInputGroup, WrInputPrefix, WrInputSuffix, WrPasswordToggle };
|
|
131
|
-
export type { WrInputType };
|
|
145
|
+
export type { WrInputSize, WrInputType };
|
package/types/ngwr-lightbox.d.ts
CHANGED
|
@@ -29,6 +29,14 @@ declare class WrLightbox {
|
|
|
29
29
|
readonly disablePreview: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
30
30
|
/** Caption shown under the full image in the lightbox. */
|
|
31
31
|
readonly caption: _angular_core.InputSignal<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Reserve space before the image resolves by fixing the thumbnail's
|
|
34
|
+
* `aspect-ratio` (e.g. `'16 / 9'`, `'4 / 3'`, or a number like `1.5`).
|
|
35
|
+
* Prevents the layout jump when the intrinsic image size isn't known up
|
|
36
|
+
* front — pair it with a `width` and the box keeps its height from first
|
|
37
|
+
* paint. @default null
|
|
38
|
+
*/
|
|
39
|
+
readonly aspectRatio: _angular_core.InputSignal<string | number | null>;
|
|
32
40
|
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
33
41
|
protected readonly loaded: _angular_core.WritableSignal<boolean>;
|
|
34
42
|
protected readonly classes: _angular_core.Signal<string>;
|
|
@@ -49,7 +57,7 @@ declare class WrLightbox {
|
|
|
49
57
|
private openOverlay;
|
|
50
58
|
private closeOverlay;
|
|
51
59
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrLightbox, never>;
|
|
52
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrLightbox, "wr-lightbox", never, { "src": { "alias": "src"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "preview": { "alias": "preview"; "required": false; "isSignal": true; }; "disablePreview": { "alias": "disablePreview"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
60
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrLightbox, "wr-lightbox", never, { "src": { "alias": "src"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "preview": { "alias": "preview"; "required": false; "isSignal": true; }; "disablePreview": { "alias": "disablePreview"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
export { WrLightbox };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { WrButtonSize } from 'ngwr/button';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* @license
|
|
@@ -33,12 +32,9 @@ type WrPaginationShape = 'rounded' | 'square';
|
|
|
33
32
|
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
34
33
|
*/
|
|
35
34
|
/**
|
|
36
|
-
* Size variant.
|
|
37
|
-
* matching `<wr-btn>` size directly; `xs` and `xl` reuse the closest
|
|
38
|
-
* button size and overlay tighter / chunkier padding + font tokens so
|
|
39
|
-
* the cells read smaller / bigger than the button's own scale.
|
|
35
|
+
* Size variant. Cascades the matching `<wr-btn>` size to every cell.
|
|
40
36
|
*/
|
|
41
|
-
type WrPaginationSize = '
|
|
37
|
+
type WrPaginationSize = 'sm' | 'md' | 'lg';
|
|
42
38
|
|
|
43
39
|
declare const ELLIPSIS: "\u2026";
|
|
44
40
|
type PageEntry = number | typeof ELLIPSIS;
|
|
@@ -75,10 +71,8 @@ declare class WrPagination {
|
|
|
75
71
|
readonly showTotal: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
76
72
|
/** Horizontal alignment. @default 'start' */
|
|
77
73
|
readonly align: _angular_core.InputSignal<WrPaginationAlign>;
|
|
78
|
-
/** Size variant — cascades to every internal button. @default '
|
|
74
|
+
/** Size variant — cascades to every internal button. @default 'sm' */
|
|
79
75
|
readonly size: _angular_core.InputSignal<WrPaginationSize>;
|
|
80
|
-
/** Resolved button size — clamps xs/xl to the closest button size. @internal */
|
|
81
|
-
protected readonly buttonSize: _angular_core.Signal<WrButtonSize>;
|
|
82
76
|
/** Cell corner treatment. @default 'rounded' */
|
|
83
77
|
readonly shape: _angular_core.InputSignal<WrPaginationShape>;
|
|
84
78
|
/** Disable interaction. @default false */
|
package/types/ngwr-radio.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
16
16
|
*
|
|
17
17
|
* @see https://ngwr.dev/components/radio
|
|
18
18
|
*/
|
|
19
|
+
type WrRadioSize = 'sm' | 'md' | 'lg';
|
|
19
20
|
declare class WrRadio {
|
|
20
21
|
/** Stable id used to associate the native input with its label. */
|
|
21
22
|
readonly id: _angular_core.InputSignal<string>;
|
|
@@ -26,16 +27,26 @@ declare class WrRadio {
|
|
|
26
27
|
* default solid circle. Use any registered NGWR icon.
|
|
27
28
|
*/
|
|
28
29
|
readonly icon: _angular_core.InputSignal<string | null>;
|
|
30
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
31
|
+
readonly size: _angular_core.InputSignal<WrRadioSize>;
|
|
32
|
+
/**
|
|
33
|
+
* Disable just this option. The group can also be disabled as a whole via
|
|
34
|
+
* `<wr-radio-group disabled>`; either source disables this radio.
|
|
35
|
+
*
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
29
39
|
private readonly group;
|
|
30
40
|
constructor();
|
|
31
41
|
protected readonly name: _angular_core.Signal<string>;
|
|
32
42
|
protected readonly checked: _angular_core.Signal<boolean>;
|
|
33
|
-
|
|
43
|
+
/** Effective disabled — this option's own `disabled` or the group's. */
|
|
44
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
34
45
|
protected readonly classes: _angular_core.Signal<string>;
|
|
35
46
|
protected onSelect(): void;
|
|
36
47
|
protected onBlur(): void;
|
|
37
48
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadio, never>;
|
|
38
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadio, "wr-radio", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadio, "wr-radio", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
39
50
|
}
|
|
40
51
|
|
|
41
52
|
/**
|
|
@@ -117,4 +128,4 @@ declare class WrRadioGroup implements ControlValueAccessor, WrRadioGroupContext
|
|
|
117
128
|
}
|
|
118
129
|
|
|
119
130
|
export { WR_RADIO_GROUP, WrRadio, WrRadioGroup };
|
|
120
|
-
export type { WrRadioGroupContext };
|
|
131
|
+
export type { WrRadioGroupContext, WrRadioSize };
|
package/types/ngwr-rating.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
18
18
|
*
|
|
19
19
|
* @see https://ngwr.dev/components/rating
|
|
20
20
|
*/
|
|
21
|
+
type WrRatingSize = 'sm' | 'md' | 'lg';
|
|
21
22
|
declare class WrRating implements ControlValueAccessor {
|
|
22
23
|
/** Total number of slots. @default 5 */
|
|
23
24
|
readonly count: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -27,6 +28,8 @@ declare class WrRating implements ControlValueAccessor {
|
|
|
27
28
|
readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
28
29
|
/** Disable interaction. @default false */
|
|
29
30
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
31
|
+
/** Control size — scales the icons + gaps. @default 'md' */
|
|
32
|
+
readonly size: _angular_core.InputSignal<WrRatingSize>;
|
|
30
33
|
/** Accessible label. @default 'Rating' */
|
|
31
34
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
32
35
|
/** Last committed value (mirrored from the CVA). */
|
|
@@ -56,7 +59,8 @@ declare class WrRating implements ControlValueAccessor {
|
|
|
56
59
|
private computeValue;
|
|
57
60
|
private commit;
|
|
58
61
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRating, never>;
|
|
59
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
62
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
export { WrRating };
|
|
66
|
+
export type { WrRatingSize };
|
|
@@ -39,6 +39,7 @@ interface WrSegmentedOption<T = unknown> {
|
|
|
39
39
|
*
|
|
40
40
|
* @see https://ngwr.dev/components/segmented
|
|
41
41
|
*/
|
|
42
|
+
type WrSegmentedSize = 'sm' | 'md' | 'lg';
|
|
42
43
|
declare class WrSegmented<T = unknown> {
|
|
43
44
|
/** The segments to render. */
|
|
44
45
|
readonly options: _angular_core.InputSignal<readonly WrSegmentedOption<T>[]>;
|
|
@@ -46,6 +47,8 @@ declare class WrSegmented<T = unknown> {
|
|
|
46
47
|
readonly value: _angular_core.ModelSignal<T | null>;
|
|
47
48
|
/** Disable the whole control. @default false */
|
|
48
49
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
50
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
51
|
+
readonly size: _angular_core.InputSignal<WrSegmentedSize>;
|
|
49
52
|
/** Index of the selected option, or `-1` when nothing is selected. */
|
|
50
53
|
protected readonly selectedIndex: _angular_core.Signal<number>;
|
|
51
54
|
/** Flips true after the first paint so the thumb only animates user-driven changes, not the initial snap. */
|
|
@@ -58,8 +61,8 @@ declare class WrSegmented<T = unknown> {
|
|
|
58
61
|
protected select(option: WrSegmentedOption<T>): void;
|
|
59
62
|
protected trackByValue(_: number, option: WrSegmentedOption<T>): unknown;
|
|
60
63
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSegmented<any>, never>;
|
|
61
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSegmented<any>, "wr-segmented", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
64
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSegmented<any>, "wr-segmented", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
export { WrSegmented };
|
|
65
|
-
export type { WrSegmentedOption };
|
|
68
|
+
export type { WrSegmentedOption, WrSegmentedSize };
|
package/types/ngwr-select.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ type WrSelectTagValidator = (value: string, existing: readonly string[]) => bool
|
|
|
37
37
|
* so stale responses can't clobber fresh ones.
|
|
38
38
|
*/
|
|
39
39
|
type WrSelectSearchLoader<T> = (query: string) => Observable<readonly T[]> | Promise<readonly T[]> | readonly T[];
|
|
40
|
+
/** Control size for `<wr-select>` — shares the `--wr-control-*` contract. */
|
|
41
|
+
type WrSelectSize = 'sm' | 'md' | 'lg';
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
44
|
* @license
|
|
@@ -155,6 +157,8 @@ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
|
155
157
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
156
158
|
/** Pill-shaped corners on the trigger. @default false */
|
|
157
159
|
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
160
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
161
|
+
readonly size: _angular_core.InputSignal<WrSelectSize>;
|
|
158
162
|
/**
|
|
159
163
|
* Present the option panel as a full-width bottom-sheet on small
|
|
160
164
|
* viewports instead of an anchored dropdown. `undefined` follows the
|
|
@@ -355,7 +359,7 @@ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
|
355
359
|
private openOverlay;
|
|
356
360
|
private closeOverlay;
|
|
357
361
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSelect, 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>;
|
|
362
|
+
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; }; "size": { "alias": "size"; "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>;
|
|
359
363
|
}
|
|
360
364
|
|
|
361
365
|
/**
|
|
@@ -419,4 +423,4 @@ declare class WrOptionGroup {
|
|
|
419
423
|
}
|
|
420
424
|
|
|
421
425
|
export { WR_SELECT, WrOption, WrOptionGroup, WrSelect };
|
|
422
|
-
export type { WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectTagValidator };
|
|
426
|
+
export type { WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectSize, WrSelectTagValidator };
|
|
@@ -20,7 +20,7 @@ import * as _angular_core from '@angular/core';
|
|
|
20
20
|
declare class WrSpotlightCard {
|
|
21
21
|
/**
|
|
22
22
|
* Highlight colour (any CSS colour). When unset, the theme decides:
|
|
23
|
-
* a
|
|
23
|
+
* a dark-ish glow on light surfaces, a light glow on dark.
|
|
24
24
|
*/
|
|
25
25
|
readonly spotlightColor: _angular_core.InputSignal<string | null>;
|
|
26
26
|
/** Where the spotlight fades out, as a percentage of the gradient. @default 80 */
|