ngwr 10.0.0 → 10.1.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 +9 -8
- package/action-sheet/styles/_index.scss +6 -1
- package/badge/styles/_index.scss +1 -1
- package/badge/styles/_tag.scss +2 -2
- package/border-glow/styles/_index.scss +5 -0
- package/button/styles/_index.scss +6 -6
- package/calendar/styles/_index.scss +9 -1
- package/circular-text/styles/_index.scss +6 -1
- package/density/styles/_index.scss +3 -1
- package/dialog/styles/_index.scss +1 -2
- package/drag-drop/styles/_index.scss +20 -7
- package/event-calendar/styles/_index.scss +284 -0
- package/falling-text/styles/_index.scss +5 -0
- package/fesm2022/ngwr-alert.mjs +8 -3
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- package/fesm2022/ngwr-back-top.mjs +6 -4
- package/fesm2022/ngwr-back-top.mjs.map +1 -1
- package/fesm2022/ngwr-border-glow.mjs +12 -9
- package/fesm2022/ngwr-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +2 -2
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngwr-calendar.mjs +5 -3
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +2 -2
- package/fesm2022/ngwr-card.mjs.map +1 -1
- package/fesm2022/ngwr-carousel.mjs +17 -4
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +31 -4
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +12 -3
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +2 -2
- package/fesm2022/ngwr-circular-text.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +7 -3
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-counter.mjs +9 -1
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker.mjs +23 -6
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/ngwr-descriptions.mjs +5 -4
- package/fesm2022/ngwr-descriptions.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +2 -2
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +4 -0
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-event-calendar.mjs +723 -0
- package/fesm2022/ngwr-event-calendar.mjs.map +1 -0
- package/fesm2022/ngwr-falling-text.mjs +2 -2
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-file-upload.mjs +2 -2
- package/fesm2022/ngwr-file-upload.mjs.map +1 -1
- package/fesm2022/ngwr-form.mjs +258 -42
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +15 -1
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +8 -3
- package/fesm2022/ngwr-gauge.mjs.map +1 -1
- package/fesm2022/ngwr-glitch-text.mjs +2 -2
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text.mjs +2 -2
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +73 -5
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +73 -5
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +20 -2
- package/fesm2022/ngwr-i18n.mjs.map +1 -1
- package/fesm2022/ngwr-icon.mjs +5 -0
- package/fesm2022/ngwr-icon.mjs.map +1 -1
- package/fesm2022/ngwr-input-number.mjs +19 -3
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input.mjs +48 -6
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-knob.mjs +8 -3
- package/fesm2022/ngwr-knob.mjs.map +1 -1
- package/fesm2022/ngwr-lightbox.mjs +32 -3
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +3 -3
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +2 -2
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +2 -2
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
- package/fesm2022/ngwr-marquee.mjs +2 -2
- package/fesm2022/ngwr-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-media.mjs +3 -0
- package/fesm2022/ngwr-media.mjs.map +1 -1
- package/fesm2022/ngwr-meter-group.mjs +14 -3
- package/fesm2022/ngwr-meter-group.mjs.map +1 -1
- package/fesm2022/ngwr-page-header.mjs +2 -2
- package/fesm2022/ngwr-page-header.mjs.map +1 -1
- package/fesm2022/ngwr-pagination.mjs +1 -1
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-progress.mjs +8 -2
- package/fesm2022/ngwr-progress.mjs.map +1 -1
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-rating.mjs +6 -4
- package/fesm2022/ngwr-rating.mjs.map +1 -1
- package/fesm2022/ngwr-result.mjs +19 -12
- package/fesm2022/ngwr-result.mjs.map +1 -1
- package/fesm2022/ngwr-segmented.mjs +2 -2
- package/fesm2022/ngwr-segmented.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +28 -8
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +4 -6
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
- package/fesm2022/ngwr-speed-dial.mjs +11 -3
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
- package/fesm2022/ngwr-spotlight-card.mjs +2 -2
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-squircle.mjs +1 -1
- package/fesm2022/ngwr-squircle.mjs.map +1 -1
- package/fesm2022/ngwr-star-border.mjs +2 -2
- package/fesm2022/ngwr-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-switch.mjs +10 -3
- package/fesm2022/ngwr-switch.mjs.map +1 -1
- package/fesm2022/ngwr-table.mjs +233 -19
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +21 -4
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea.mjs +20 -4
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-tilt-card.mjs +2 -2
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +2 -2
- package/fesm2022/ngwr-toolbar.mjs.map +1 -1
- package/fesm2022/ngwr-tour.mjs +264 -0
- package/fesm2022/ngwr-tour.mjs.map +1 -0
- package/fesm2022/ngwr-transfer.mjs +184 -0
- package/fesm2022/ngwr-transfer.mjs.map +1 -0
- package/fesm2022/ngwr-tree.mjs +23 -6
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter.mjs +2 -2
- package/fesm2022/ngwr-typewriter.mjs.map +1 -1
- package/fesm2022/ngwr-validators.mjs +118 -2
- package/fesm2022/ngwr-validators.mjs.map +1 -1
- package/fesm2022/ngwr-version.mjs +2 -2
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +2 -2
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-waves.mjs +2 -2
- package/fesm2022/ngwr-waves.mjs.map +1 -1
- package/form/styles/_index.scss +8 -4
- package/glitch-text/styles/_index.scss +5 -0
- package/gradient-text/styles/_index.scss +5 -0
- package/i18n/en.json +74 -6
- package/i18n/ru.json +74 -6
- package/icon/styles/_index.scss +5 -0
- package/keyboard/styles/_index.scss +5 -0
- package/llms-full.txt +123 -62
- package/llms.txt +29 -8
- package/loading-bar/styles/_index.scss +5 -0
- package/marquee/styles/_index.scss +7 -2
- package/overlay/styles/_index.scss +5 -0
- package/package.json +13 -1
- package/popover/styles/_index.scss +48 -12
- package/pull-to-refresh/styles/_index.scss +5 -0
- package/result/styles/_index.scss +3 -3
- package/schematics/icon-set/index.js +80 -34
- package/schematics/icon-set/schema.json +8 -3
- package/schematics/ng-add/index.js +5 -2
- package/schematics/page/templates.js +17 -21
- package/schematics/provider/index.js +31 -13
- package/schematics/provider/schema.json +40 -24
- package/schematics/use/index.js +5 -1
- package/schematics/use/schema.json +8 -3
- package/schematics/use/symbol-map.json +6 -177
- package/segmented/styles/_index.scss +1 -1
- package/select/styles/_index.scss +7 -3
- package/shiny-text/styles/_index.scss +5 -0
- package/speed-dial/styles/_index.scss +12 -1
- package/spotlight-card/styles/_index.scss +5 -0
- package/squircle/styles/_index.scss +5 -0
- package/star-border/styles/_index.scss +5 -0
- package/statistic/styles/_index.scss +2 -2
- package/styles/_animations.scss +6 -0
- package/styles.scss +3 -0
- package/table/styles/_index.scss +100 -2
- package/theme/styles/_colors.scss +43 -1
- package/theme/styles/_dark.scss +18 -6
- package/theme/styles/_focus.scss +2 -8
- package/tilt-card/styles/_index.scss +5 -0
- package/toast/styles/_index.scss +6 -3
- package/tour/styles/_index.scss +63 -0
- package/transfer/styles/_index.scss +105 -0
- package/types/ngwr-alert.d.ts +4 -1
- package/types/ngwr-avatar.d.ts +1 -1
- package/types/ngwr-back-top.d.ts +3 -2
- package/types/ngwr-badge.d.ts +1 -1
- package/types/ngwr-border-glow.d.ts +0 -1
- package/types/ngwr-carousel.d.ts +10 -1
- package/types/ngwr-cascader.d.ts +12 -1
- package/types/ngwr-checkbox.d.ts +9 -1
- package/types/ngwr-command-palette.d.ts +4 -1
- package/types/ngwr-date-picker.d.ts +9 -1
- package/types/ngwr-density.d.ts +1 -1
- package/types/ngwr-divider.d.ts +1 -1
- package/types/ngwr-event-calendar.d.ts +358 -0
- package/types/ngwr-form.d.ts +177 -20
- package/types/ngwr-fuzzy-text.d.ts +8 -0
- package/types/ngwr-gauge.d.ts +4 -1
- package/types/ngwr-i18n.d.ts +15 -0
- package/types/ngwr-input-number.d.ts +8 -1
- package/types/ngwr-input.d.ts +50 -20
- package/types/ngwr-knob.d.ts +4 -1
- package/types/ngwr-lightbox.d.ts +7 -1
- package/types/ngwr-line-chart.d.ts +1 -1
- package/types/ngwr-media.d.ts +1 -1
- package/types/ngwr-meter-group.d.ts +9 -1
- package/types/ngwr-page-header.d.ts +2 -2
- package/types/ngwr-pagination.d.ts +1 -1
- package/types/ngwr-progress.d.ts +4 -1
- package/types/ngwr-rating.d.ts +3 -2
- package/types/ngwr-result.d.ts +12 -6
- package/types/ngwr-segmented.d.ts +6 -0
- package/types/ngwr-select.d.ts +13 -7
- package/types/ngwr-shiny-text.d.ts +2 -4
- package/types/ngwr-speed-dial.d.ts +7 -1
- package/types/ngwr-squircle.d.ts +1 -1
- package/types/ngwr-switch.d.ts +7 -1
- package/types/ngwr-table.d.ts +126 -6
- package/types/ngwr-tabs.d.ts +1 -4
- package/types/ngwr-textarea.d.ts +8 -1
- package/types/ngwr-toolbar.d.ts +2 -2
- package/types/ngwr-tour.d.ts +132 -0
- package/types/ngwr-transfer.d.ts +118 -0
- package/types/ngwr-tree.d.ts +10 -2
- package/types/ngwr-validators.d.ts +62 -2
- package/types/ngwr-version.d.ts +2 -2
- package/typewriter/styles/_index.scss +5 -0
- package/typography/styles/_index.scss +3 -3
- package/virtual-scroll/styles/_index.scss +6 -1
- package/waves/styles/_index.scss +5 -0
package/types/ngwr-gauge.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ import * as _angular_core from '@angular/core';
|
|
|
13
13
|
* @see https://ngwr.dev/reference/components/gauge
|
|
14
14
|
*/
|
|
15
15
|
declare class WrGauge {
|
|
16
|
+
/** Accessible name — the role needs one. Falls back to `gauge.label`. */
|
|
17
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
18
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
16
19
|
readonly value: _angular_core.InputSignal<number>;
|
|
17
20
|
readonly min: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
18
21
|
readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -33,7 +36,7 @@ declare class WrGauge {
|
|
|
33
36
|
protected readonly valuePath: _angular_core.Signal<string>;
|
|
34
37
|
protected readonly viewBox = "0 0 100 56";
|
|
35
38
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrGauge, never>;
|
|
36
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrGauge, "wr-gauge", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "valueColor": { "alias": "valueColor"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrGauge, "wr-gauge", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "valueColor": { "alias": "valueColor"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
export { WrGauge };
|
package/types/ngwr-i18n.d.ts
CHANGED
|
@@ -190,6 +190,21 @@ declare class WrTDirective {
|
|
|
190
190
|
interface WrI18nLoader {
|
|
191
191
|
load(locale: string, scope: string | null): Observable<WrI18nCatalog>;
|
|
192
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* The active loader.
|
|
195
|
+
*
|
|
196
|
+
* Defaults to one that serves an empty catalog, which is what makes
|
|
197
|
+
* `provideWrI18n()` genuinely optional: every ngwr component routes its
|
|
198
|
+
* built-in strings through `useI18nText` / `readI18nText`, those inject
|
|
199
|
+
* `WrI18n` optionally — and because `WrI18n` is `providedIn: 'root'`, an
|
|
200
|
+
* optional inject still CONSTRUCTS it. Without a default here that construction
|
|
201
|
+
* threw `NG0201: No provider found for WR_I18N_LOADER`, so an app that had
|
|
202
|
+
* simply not configured i18n could not render `<wr-alert>` at all.
|
|
203
|
+
*
|
|
204
|
+
* With the empty catalog, every lookup misses, `t()` hands back the key, and
|
|
205
|
+
* the helpers fall through to the component's own English default — the
|
|
206
|
+
* documented no-i18n behaviour.
|
|
207
|
+
*/
|
|
193
208
|
declare const WR_I18N_LOADER: InjectionToken<WrI18nLoader>;
|
|
194
209
|
|
|
195
210
|
/**
|
|
@@ -44,6 +44,13 @@ declare class WrInputNumber implements FormValueControl<number | null> {
|
|
|
44
44
|
readonly suffix: _angular_core.InputSignal<string>;
|
|
45
45
|
/** Placeholder shown when the input is empty. */
|
|
46
46
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Accessible name for the field. Falls back to the placeholder — inside a
|
|
49
|
+
* `<wr-form-field>` the projected `wrInput` picks up the label's id and needs
|
|
50
|
+
* neither, but standalone the text field has no name at all.
|
|
51
|
+
*/
|
|
52
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
53
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string | null>;
|
|
47
54
|
/** Disable interaction. @default false */
|
|
48
55
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
49
56
|
/** Read-only — values cannot be changed (steppers + typing disabled). @default false */
|
|
@@ -77,7 +84,7 @@ declare class WrInputNumber implements FormValueControl<number | null> {
|
|
|
77
84
|
/** Format a value using `Intl.NumberFormat` for the active locale. */
|
|
78
85
|
private format;
|
|
79
86
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputNumber, never>;
|
|
80
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputNumber, "wr-input-number", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "showSteppers": { "alias": "showSteppers"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
87
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputNumber, "wr-input-number", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "showSteppers": { "alias": "showSteppers"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
81
88
|
}
|
|
82
89
|
|
|
83
90
|
export { WrInputNumber };
|
package/types/ngwr-input.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @license
|
|
@@ -7,7 +7,7 @@ import * as i0 from '@angular/core';
|
|
|
7
7
|
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
* Native input `type` values supported by
|
|
10
|
+
* Native input `type` values supported by ``input[wrInput]``.
|
|
11
11
|
*/
|
|
12
12
|
type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
|
|
13
13
|
|
|
@@ -42,16 +42,40 @@ type WrInputSize = 'sm' | 'md' | 'lg';
|
|
|
42
42
|
* @see https://ngwr.dev/reference/components/input
|
|
43
43
|
*/
|
|
44
44
|
declare class WrInput {
|
|
45
|
+
private readonly host;
|
|
46
|
+
private readonly field;
|
|
47
|
+
/**
|
|
48
|
+
* Read once, at construction: a static `id=""` in the template is already on
|
|
49
|
+
* the element by the time a directive is instantiated, and it must win over
|
|
50
|
+
* the field's generated one.
|
|
51
|
+
*/
|
|
52
|
+
private readonly ownId;
|
|
53
|
+
/**
|
|
54
|
+
* Adopts the surrounding `<wr-form-field>`'s `controlId`, so the label it
|
|
55
|
+
* already rendered actually points at this element. Without this the `for`
|
|
56
|
+
* referenced an id that existed nowhere and the input had no label at all.
|
|
57
|
+
*/
|
|
58
|
+
protected readonly resolvedId: _angular_core.Signal<string | null>;
|
|
59
|
+
/**
|
|
60
|
+
* Announced state, taken from the surrounding `<wr-form-field>`.
|
|
61
|
+
*
|
|
62
|
+
* The field renders the message but cannot reach the projected control, so
|
|
63
|
+
* the control reads back: without this the error is visible on screen and
|
|
64
|
+
* invisible to a screen reader, which never learns the field is invalid or
|
|
65
|
+
* what the message says.
|
|
66
|
+
*/
|
|
67
|
+
protected readonly ariaInvalid: _angular_core.Signal<"true" | null>;
|
|
68
|
+
protected readonly describedBy: _angular_core.Signal<string | null>;
|
|
45
69
|
/**
|
|
46
70
|
* Control size. Named `wrSize` (not `size`) so it never clashes with the
|
|
47
71
|
* native `<input size>` attribute. @default 'md'
|
|
48
72
|
*/
|
|
49
|
-
readonly wrSize:
|
|
73
|
+
readonly wrSize: _angular_core.InputSignal<WrInputSize>;
|
|
50
74
|
/** Pill-shaped corners. @default false */
|
|
51
|
-
readonly rounded:
|
|
52
|
-
protected readonly classes:
|
|
53
|
-
static ɵfac:
|
|
54
|
-
static ɵdir:
|
|
75
|
+
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
76
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
77
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInput, never>;
|
|
78
|
+
static ɵdir: _angular_core.ɵɵ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>;
|
|
55
79
|
}
|
|
56
80
|
|
|
57
81
|
/**
|
|
@@ -68,8 +92,8 @@ declare class WrInput {
|
|
|
68
92
|
* ```
|
|
69
93
|
*/
|
|
70
94
|
declare class WrInputPrefix {
|
|
71
|
-
static ɵfac:
|
|
72
|
-
static ɵdir:
|
|
95
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputPrefix, never>;
|
|
96
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrInputPrefix, "[wrInputPrefix]", never, {}, {}, never, never, true, never>;
|
|
73
97
|
}
|
|
74
98
|
|
|
75
99
|
/**
|
|
@@ -86,8 +110,8 @@ declare class WrInputPrefix {
|
|
|
86
110
|
* ```
|
|
87
111
|
*/
|
|
88
112
|
declare class WrInputSuffix {
|
|
89
|
-
static ɵfac:
|
|
90
|
-
static ɵdir:
|
|
113
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputSuffix, never>;
|
|
114
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrInputSuffix, "[wrInputSuffix]", never, {}, {}, never, never, true, never>;
|
|
91
115
|
}
|
|
92
116
|
|
|
93
117
|
/**
|
|
@@ -112,10 +136,10 @@ declare class WrInputSuffix {
|
|
|
112
136
|
*/
|
|
113
137
|
declare class WrInputGroup {
|
|
114
138
|
/** Pill-shaped corners. @default false */
|
|
115
|
-
readonly rounded:
|
|
116
|
-
protected readonly classes:
|
|
117
|
-
static ɵfac:
|
|
118
|
-
static ɵcmp:
|
|
139
|
+
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
140
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
141
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputGroup, never>;
|
|
142
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputGroup, "wr-input-group", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
119
143
|
}
|
|
120
144
|
|
|
121
145
|
/**
|
|
@@ -133,12 +157,18 @@ declare class WrInputGroup {
|
|
|
133
157
|
*/
|
|
134
158
|
declare class WrPasswordToggle {
|
|
135
159
|
/** Reference to the linked password input. */
|
|
136
|
-
readonly for:
|
|
137
|
-
protected readonly revealed:
|
|
138
|
-
|
|
160
|
+
readonly for: _angular_core.InputSignal<HTMLInputElement>;
|
|
161
|
+
protected readonly revealed: _angular_core.WritableSignal<boolean>;
|
|
162
|
+
/** Accessible name while the password is hidden. Falls back to `input.showPassword`. */
|
|
163
|
+
readonly showLabel: _angular_core.InputSignal<string | null>;
|
|
164
|
+
/** Accessible name while the password is revealed. Falls back to `input.hidePassword`. */
|
|
165
|
+
readonly hideLabel: _angular_core.InputSignal<string | null>;
|
|
166
|
+
private readonly resolvedShowLabel;
|
|
167
|
+
private readonly resolvedHideLabel;
|
|
168
|
+
protected readonly ariaLabel: _angular_core.Signal<string>;
|
|
139
169
|
protected toggle(): void;
|
|
140
|
-
static ɵfac:
|
|
141
|
-
static ɵcmp:
|
|
170
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPasswordToggle, never>;
|
|
171
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPasswordToggle, "wr-password-toggle", never, { "for": { "alias": "for"; "required": true; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "hideLabel": { "alias": "hideLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
142
172
|
}
|
|
143
173
|
|
|
144
174
|
export { WrInput, WrInputGroup, WrInputPrefix, WrInputSuffix, WrPasswordToggle };
|
package/types/ngwr-knob.d.ts
CHANGED
|
@@ -21,6 +21,9 @@ import { FormValueControl } from '@angular/forms/signals';
|
|
|
21
21
|
* @see https://ngwr.dev/reference/components/knob
|
|
22
22
|
*/
|
|
23
23
|
declare class WrKnob implements FormValueControl<number> {
|
|
24
|
+
/** Accessible name — the role needs one. Falls back to `knob.label`. */
|
|
25
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
26
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
24
27
|
/** Minimum allowed value. @default 0 */
|
|
25
28
|
readonly min: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
|
|
26
29
|
/** Maximum allowed value. @default 100 */
|
|
@@ -76,7 +79,7 @@ declare class WrKnob implements FormValueControl<number> {
|
|
|
76
79
|
private commit;
|
|
77
80
|
private arcPath;
|
|
78
81
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrKnob, never>;
|
|
79
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrKnob, "wr-knob", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "valueColor": { "alias": "valueColor"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
82
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrKnob, "wr-knob", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "valueColor": { "alias": "valueColor"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
80
83
|
}
|
|
81
84
|
|
|
82
85
|
export { WrKnob };
|
package/types/ngwr-lightbox.d.ts
CHANGED
|
@@ -19,6 +19,9 @@ import { TemplateRef } from '@angular/core';
|
|
|
19
19
|
* @see https://ngwr.dev/reference/components/lightbox
|
|
20
20
|
*/
|
|
21
21
|
declare class WrLightbox {
|
|
22
|
+
/** Accessible name. Falls back to `image.close`, then `'Close preview'`. */
|
|
23
|
+
readonly closeLabel: _angular_core.InputSignal<string | null>;
|
|
24
|
+
protected readonly resolvedCloseLabel: _angular_core.Signal<string>;
|
|
22
25
|
/** Image source. */
|
|
23
26
|
readonly src: _angular_core.InputSignal<string>;
|
|
24
27
|
/** Alt text. Required for a11y; falls back to an empty string. @default '' */
|
|
@@ -44,6 +47,9 @@ declare class WrLightbox {
|
|
|
44
47
|
private readonly overlay;
|
|
45
48
|
private readonly vcr;
|
|
46
49
|
private readonly destroyRef;
|
|
50
|
+
private readonly focusTrapFactory;
|
|
51
|
+
private focusTrap;
|
|
52
|
+
private previouslyFocused;
|
|
47
53
|
private overlayRef;
|
|
48
54
|
constructor();
|
|
49
55
|
protected onClick(): void;
|
|
@@ -57,7 +63,7 @@ declare class WrLightbox {
|
|
|
57
63
|
private openOverlay;
|
|
58
64
|
private closeOverlay;
|
|
59
65
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrLightbox, 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>;
|
|
66
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrLightbox, "wr-lightbox", never, { "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "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>;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
export { WrLightbox };
|
|
@@ -12,7 +12,7 @@ interface WrLineSeries {
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```html
|
|
15
|
-
* <wr-
|
|
15
|
+
* <wr-line-chart
|
|
16
16
|
* [series]="[
|
|
17
17
|
* { label: 'Visits', data: [12, 18, 9, 22, 30, 27, 35] },
|
|
18
18
|
* { label: 'Signups', data: [3, 5, 4, 8, 11, 9, 14], color: 'var(--wr-color-success)' }
|
package/types/ngwr-media.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { InjectionToken, Signal, EnvironmentProviders } from '@angular/core';
|
|
|
3
3
|
import * as ngwr_media from 'ngwr/media';
|
|
4
4
|
|
|
5
5
|
/** Named breakpoint identifiers — match the SCSS `_breakpoints.scss` keys. */
|
|
6
|
-
type WrBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
6
|
+
type WrBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xga' | 'fhd' | 'rt';
|
|
7
7
|
/** Map of breakpoint → minimum viewport width in pixels. */
|
|
8
8
|
type WrBreakpointMap = Readonly<Record<WrBreakpoint, number>>;
|
|
9
9
|
|
|
@@ -35,6 +35,9 @@ interface WrMeterSegment {
|
|
|
35
35
|
* @see https://ngwr.dev/reference/components/meter-group
|
|
36
36
|
*/
|
|
37
37
|
declare class WrMeterGroup {
|
|
38
|
+
/** Accessible name — the role needs one. Falls back to `meterGroup.label`. */
|
|
39
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
40
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
38
41
|
readonly segments: _angular_core.InputSignal<readonly WrMeterSegment[]>;
|
|
39
42
|
/** Explicit total. When `0` (default), `max = sum(values)`. @default 0 */
|
|
40
43
|
readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -43,6 +46,11 @@ declare class WrMeterGroup {
|
|
|
43
46
|
/** Show each segment's percent value in the legend. @default true */
|
|
44
47
|
readonly showValues: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
45
48
|
protected readonly resolvedMax: _angular_core.Signal<number>;
|
|
49
|
+
/**
|
|
50
|
+
* Sum of the segments, for `aria-valuenow`. `role="progressbar"` without it
|
|
51
|
+
* announces no value at all, so the bar was invisible to assistive tech.
|
|
52
|
+
*/
|
|
53
|
+
protected readonly totalValue: _angular_core.Signal<number>;
|
|
46
54
|
protected readonly slices: _angular_core.Signal<{
|
|
47
55
|
label: string;
|
|
48
56
|
value: number;
|
|
@@ -50,7 +58,7 @@ declare class WrMeterGroup {
|
|
|
50
58
|
percent: number;
|
|
51
59
|
}[]>;
|
|
52
60
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrMeterGroup, never>;
|
|
53
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrMeterGroup, "wr-meter-group", never, { "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
61
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrMeterGroup, "wr-meter-group", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
54
62
|
}
|
|
55
63
|
|
|
56
64
|
export { WrMeterGroup };
|
|
@@ -11,8 +11,8 @@ import * as _angular_core from '@angular/core';
|
|
|
11
11
|
* <wr-page-header title="Settings" subtitle="Manage your workspace">
|
|
12
12
|
* <nav wrPageHeaderBreadcrumbs>…</nav>
|
|
13
13
|
* <div wrPageHeaderActions>
|
|
14
|
-
* <button
|
|
15
|
-
* <button
|
|
14
|
+
* <button wr-btn>Invite</button>
|
|
15
|
+
* <button wr-btn color="primary">Save</button>
|
|
16
16
|
* </div>
|
|
17
17
|
* <div wrPageHeaderExtra>
|
|
18
18
|
* <wr-tag>v2.4</wr-tag>
|
package/types/ngwr-progress.d.ts
CHANGED
|
@@ -12,6 +12,9 @@ import * as _angular_core from '@angular/core';
|
|
|
12
12
|
* @see https://ngwr.dev/reference/components/progress
|
|
13
13
|
*/
|
|
14
14
|
declare class WrProgress {
|
|
15
|
+
/** Accessible name — `role="progressbar"` needs one. Falls back to `progress.label`. */
|
|
16
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
17
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
15
18
|
/**
|
|
16
19
|
* Bar color.
|
|
17
20
|
*
|
|
@@ -27,7 +30,7 @@ declare class WrProgress {
|
|
|
27
30
|
protected readonly clamped: _angular_core.Signal<number>;
|
|
28
31
|
protected readonly classes: _angular_core.Signal<string>;
|
|
29
32
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrProgress, never>;
|
|
30
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrProgress, "wr-progress", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
33
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrProgress, "wr-progress", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
export { WrProgress };
|
package/types/ngwr-rating.d.ts
CHANGED
|
@@ -42,8 +42,9 @@ declare class WrRating implements FormValueControl<number | null> {
|
|
|
42
42
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
43
43
|
/** Control size — scales the icons + gaps. @default 'md' */
|
|
44
44
|
readonly size: _angular_core.InputSignal<WrRatingSize>;
|
|
45
|
-
/** Accessible label.
|
|
46
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
45
|
+
/** Accessible label. Falls back to `rating.label`, then `'Rating'`. */
|
|
46
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
47
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
47
48
|
/** The rating. Bound by `[formField]`, or two-way via `[(value)]`. */
|
|
48
49
|
readonly value: _angular_core.ModelSignal<number | null>;
|
|
49
50
|
/** Emitted on blur so a bound field can mark itself touched. */
|
package/types/ngwr-result.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ type WrResultStatus = 'success' | 'warning' | 'error' | 'info' | 'empty';
|
|
|
10
10
|
* @example
|
|
11
11
|
* ```html
|
|
12
12
|
* <wr-result status="success" title="Submitted!" description="We'll be in touch.">
|
|
13
|
-
* <button
|
|
13
|
+
* <button wr-btn color="primary" wrResultExtra>Continue</button>
|
|
14
14
|
* </wr-result>
|
|
15
15
|
*
|
|
16
16
|
* <wr-result status="empty" title="No projects yet">
|
|
17
|
-
* <button
|
|
17
|
+
* <button wr-btn wrResultExtra>Create one</button>
|
|
18
18
|
* </wr-result>
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
@@ -35,27 +35,33 @@ declare class WrResult {
|
|
|
35
35
|
* @example
|
|
36
36
|
* ```html
|
|
37
37
|
* <wr-result-404>
|
|
38
|
-
* <button
|
|
38
|
+
* <button wr-btn wrResultExtra>Back home</button>
|
|
39
39
|
* </wr-result-404>
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
42
|
declare class WrResult404 {
|
|
43
43
|
readonly title: _angular_core.InputSignal<string>;
|
|
44
|
-
|
|
44
|
+
/** Body text. Falls back to `result.notFound` from WrI18n. */
|
|
45
|
+
readonly description: _angular_core.InputSignal<string | null>;
|
|
46
|
+
protected readonly desc: _angular_core.Signal<string>;
|
|
45
47
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrResult404, never>;
|
|
46
48
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrResult404, "wr-result-404", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
47
49
|
}
|
|
48
50
|
/** Pre-set 403 result — forbidden / no access. */
|
|
49
51
|
declare class WrResult403 {
|
|
50
52
|
readonly title: _angular_core.InputSignal<string>;
|
|
51
|
-
|
|
53
|
+
/** Body text. Falls back to `result.forbidden` from WrI18n. */
|
|
54
|
+
readonly description: _angular_core.InputSignal<string | null>;
|
|
55
|
+
protected readonly desc: _angular_core.Signal<string>;
|
|
52
56
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrResult403, never>;
|
|
53
57
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrResult403, "wr-result-403", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
54
58
|
}
|
|
55
59
|
/** Pre-set 500 result — internal server error. */
|
|
56
60
|
declare class WrResult500 {
|
|
57
61
|
readonly title: _angular_core.InputSignal<string>;
|
|
58
|
-
|
|
62
|
+
/** Body text. Falls back to `result.serverError` from WrI18n. */
|
|
63
|
+
readonly description: _angular_core.InputSignal<string | null>;
|
|
64
|
+
protected readonly desc: _angular_core.Signal<string>;
|
|
59
65
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrResult500, never>;
|
|
60
66
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrResult500, "wr-result-500", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
61
67
|
}
|
|
@@ -18,6 +18,12 @@ interface WrSegmentedOption<T = unknown> {
|
|
|
18
18
|
readonly value: T;
|
|
19
19
|
readonly label?: string;
|
|
20
20
|
readonly icon?: WrIconName;
|
|
21
|
+
/**
|
|
22
|
+
* Accessible name for an icon-only option. Without a `label` the button has
|
|
23
|
+
* no text at all, so assistive tech announced nothing; when this is omitted
|
|
24
|
+
* the option's `value` is used as a last resort.
|
|
25
|
+
*/
|
|
26
|
+
readonly ariaLabel?: string;
|
|
21
27
|
readonly disabled?: boolean;
|
|
22
28
|
}
|
|
23
29
|
|
package/types/ngwr-select.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ import { Observable } from 'rxjs';
|
|
|
21
21
|
* - `'multi'` — array value, chips on the trigger, options toggle on click.
|
|
22
22
|
* - `'search'` — type-ahead with sync filter or async loader (replaces
|
|
23
23
|
* the standalone `<wr-autocomplete>`).
|
|
24
|
-
* - `'tag'` — free-text + chips, with
|
|
25
|
-
* `
|
|
24
|
+
* - `'tag'` — free-text + chips, with `separators` / `validate` /
|
|
25
|
+
* `allowDuplicates` (replaces `<wr-chips-input>`).
|
|
26
26
|
*/
|
|
27
27
|
type WrSelectMode = 'single' | 'multi' | 'search' | 'tag';
|
|
28
28
|
/**
|
|
@@ -166,8 +166,6 @@ interface SelectedChip {
|
|
|
166
166
|
* />
|
|
167
167
|
* ```
|
|
168
168
|
*
|
|
169
|
-
* The legacy `[multi]="true"` boolean is still accepted but is now an
|
|
170
|
-
* alias for `[mode]="'multi'"` — prefer the explicit mode.
|
|
171
169
|
*
|
|
172
170
|
* @see https://ngwr.dev/reference/components/select
|
|
173
171
|
*/
|
|
@@ -178,6 +176,14 @@ declare class WrSelect implements FormValueControl<unknown>, WrSelectContext {
|
|
|
178
176
|
readonly clearLabel: _angular_core.InputSignal<string | null>;
|
|
179
177
|
protected readonly resolvedPlaceholder: _angular_core.Signal<string>;
|
|
180
178
|
protected readonly resolvedClear: _angular_core.Signal<string>;
|
|
179
|
+
/**
|
|
180
|
+
* Accessible name of the trigger. Falls back to the placeholder, then to
|
|
181
|
+
* `select.label` — `role="combobox"` on an empty trigger otherwise has no name
|
|
182
|
+
* at all, which is the common case before anything is selected.
|
|
183
|
+
*/
|
|
184
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
185
|
+
private readonly labelText;
|
|
186
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
181
187
|
/** Per-chip ARIA label — interpolates `{{label}}`. @internal */
|
|
182
188
|
protected readonly chipRemoveLabel: (params?: ngwr_i18n.WrI18nParams) => string;
|
|
183
189
|
/**
|
|
@@ -204,8 +210,8 @@ declare class WrSelect implements FormValueControl<unknown>, WrSelectContext {
|
|
|
204
210
|
*
|
|
205
211
|
* - `'single'` (default) — one value, no input. Classic dropdown.
|
|
206
212
|
* - `'multi'` — array value, chips on the trigger.
|
|
207
|
-
* - `'search'`
|
|
208
|
-
* - `'tag'`
|
|
213
|
+
* - `'search'` — type-ahead with sync filter or async loader.
|
|
214
|
+
* - `'tag'` — free-text + chips.
|
|
209
215
|
*
|
|
210
216
|
*/
|
|
211
217
|
readonly mode: _angular_core.InputSignal<WrSelectMode | null>;
|
|
@@ -533,7 +539,7 @@ declare class WrSelect implements FormValueControl<unknown>, WrSelectContext {
|
|
|
533
539
|
private openOverlay;
|
|
534
540
|
private closeOverlay;
|
|
535
541
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSelect, never>;
|
|
536
|
-
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; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "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; }; "serverSearch": { "alias": "serverSearch"; "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; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "searchQuery": "searchQueryChange"; "searchChange": "searchChange"; "value": "valueChange"; "touch": "touch"; }, ["projectedOptions"], ["*"], true, never>;
|
|
542
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSelect, "wr-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "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; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "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; }; "serverSearch": { "alias": "serverSearch"; "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; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "searchQuery": "searchQueryChange"; "searchChange": "searchChange"; "value": "valueChange"; "touch": "touch"; }, ["projectedOptions"], ["*"], true, never>;
|
|
537
543
|
}
|
|
538
544
|
|
|
539
545
|
/**
|
|
@@ -27,11 +27,9 @@ declare class WrShinyText {
|
|
|
27
27
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
28
28
|
/** Time for the bright stripe to traverse the text, in seconds. @default 2 */
|
|
29
29
|
readonly speed: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
30
|
-
/** Base text colour
|
|
31
|
-
/** Base text colour. When unset, the theme decides. */
|
|
30
|
+
/** Base text colour outside the bright stripe. Unset falls back to `--wr-shiny-text-base`. */
|
|
32
31
|
readonly color: _angular_core.InputSignal<string | null>;
|
|
33
|
-
/**
|
|
34
|
-
/** Sweep highlight colour. When unset, the theme decides. */
|
|
32
|
+
/** Sweep highlight colour. Unset falls back to the theme token. */
|
|
35
33
|
readonly shineColor: _angular_core.InputSignal<string | null>;
|
|
36
34
|
/** Gradient angle in degrees. @default 120 */
|
|
37
35
|
readonly spread: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -30,6 +30,12 @@ type WrSpeedDialDirection = 'up' | 'down' | 'left' | 'right';
|
|
|
30
30
|
*/
|
|
31
31
|
declare class WrSpeedDial {
|
|
32
32
|
readonly actions: _angular_core.InputSignal<readonly WrSpeedDialAction[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Accessible name of the trigger. Falls back to `speedDial.label`, then
|
|
35
|
+
* `'Actions'` — the trigger is icon-only, so without this it has no name at all.
|
|
36
|
+
*/
|
|
37
|
+
readonly triggerLabel: _angular_core.InputSignal<string | null>;
|
|
38
|
+
protected readonly resolvedTriggerLabel: _angular_core.Signal<string>;
|
|
33
39
|
/** Direction the actions fan out. @default 'up' */
|
|
34
40
|
readonly direction: _angular_core.InputSignal<WrSpeedDialDirection>;
|
|
35
41
|
/** Two-way bindable open state. @default false */
|
|
@@ -50,7 +56,7 @@ declare class WrSpeedDial {
|
|
|
50
56
|
protected onTrigger(): void;
|
|
51
57
|
protected onPick(action: WrSpeedDialAction): void;
|
|
52
58
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSpeedDial, never>;
|
|
53
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSpeedDial, "wr-speed-dial", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "safeArea": { "alias": "safeArea"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "pick": "pick"; }, never, never, true, never>;
|
|
59
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSpeedDial, "wr-speed-dial", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "safeArea": { "alias": "safeArea"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "pick": "pick"; }, never, never, true, never>;
|
|
54
60
|
}
|
|
55
61
|
|
|
56
62
|
export { WrSpeedDial };
|
package/types/ngwr-squircle.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ type WrSquircleCornerMask = 'all' | 'left' | 'right' | 'top' | 'bottom' | 'none'
|
|
|
49
49
|
*
|
|
50
50
|
* @example
|
|
51
51
|
* ```html
|
|
52
|
-
* <button
|
|
52
|
+
* <button wr-btn wrSquircle [radius]="16">Save</button>
|
|
53
53
|
* <wr-tag wrSquircle>v2.0</wr-tag>
|
|
54
54
|
* <div wrSquircle [radius]="32" [smoothing]="0.8">…</div>
|
|
55
55
|
* <div wrSquircle [borderWidth]="2" borderColor="var(--wr-color-primary)">…</div>
|
package/types/ngwr-switch.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ import { FormCheckboxControl } from '@angular/forms/signals';
|
|
|
21
21
|
*/
|
|
22
22
|
type WrSwitchSize = 'sm' | 'md' | 'lg';
|
|
23
23
|
declare class WrSwitch implements FormCheckboxControl {
|
|
24
|
+
/**
|
|
25
|
+
* Accessible name for a switch used WITHOUT projected text. The wrapping
|
|
26
|
+
* `<label>` names the control whenever content is projected; with none, the
|
|
27
|
+
* label is empty and the input has no name at all.
|
|
28
|
+
*/
|
|
29
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
24
30
|
/** Stable id used to associate the native input with its label. */
|
|
25
31
|
readonly id: _angular_core.InputSignal<string>;
|
|
26
32
|
/**
|
|
@@ -40,7 +46,7 @@ declare class WrSwitch implements FormCheckboxControl {
|
|
|
40
46
|
protected onInputChange(event: Event): void;
|
|
41
47
|
protected onInputBlur(): void;
|
|
42
48
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSwitch, never>;
|
|
43
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSwitch, "wr-switch", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touch": "touch"; }, never, ["*"], true, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSwitch, "wr-switch", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touch": "touch"; }, never, ["*"], true, never>;
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
export { WrSwitch };
|